OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12604|回复: 4

发一个51的si4432调试程序

[复制链接]

13

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2011-8-16
在线时间
6 小时
发表于 2011-8-16 14:39:35 | 显示全部楼层 |阅读模式

#include<reg51.h>
 #include"uart.h"
#include"spi.h"
#include"rf4432.h"
#define uchar unsigned char
#define uint unsigned int
#define LampOn LED=0;
#define LampOff LED=1;
sbit LED=P1^0;
sbit btn_press=P2^7;
//-------------------------------------------射频芯片相关定义--------------------------------
#define RF4432_TxBuf_Len 10
#define RF4432_RxBuf_Len 5   //定义RF4432数据包长度
char  RF4432_RxBuf[RF4432_RxBuf_Len];
char  RF4432_TxBuf[RF4432_TxBuf_Len]={0x30,0x31,0x32,3,4,5,6,7,8,9};
char    A[RF4432_TxBuf_Len];
//uchar FSK[10]={0xaa,0xaa,0x00,0xaa,0x00,0x00,0x00,0xaa,0x00,0x00};
bit send_enable=0;
bit receive_enable=1;
/////////////////////////////////////////////////////////////////
//  RF4432_SDI=1;  //SPI数据输入
//  RF4432_SCLK=1;  //SPI时钟输入端口
//  RF4432_SEL=1;  //SPI片选
//  RF4432_SDI=0;  //SPI数据输入
//  RF4432_SCLK=0;  //SPI时钟输入端口
//  RF4432_SEL=0;  //SPI片选
////////////////////////////////////////////////////////////////////
void main(void)
{
 unsigned char i,send_enable=0;
 LampOn;
// init();
    btn_press=1;
 UART_Init();
 SPI_Init();
 UART_Send_Str("初始化完毕....\n");
 RF4432_Init();
 UART_Send_Str("RF芯片si4432初始化完毕....\n");
 RF4432_SetRxMode();  //设置成接收模式
 UART_Send_Str("模块处于接收状态....\n");
 while(1)
 {
         if(RF4432_RxPacket())
    {
     RF4432_ReadBurestReg(FIFO_ACCESS,RF4432_RxBuf,RF4432_RxBuf_Len);
     for(i=0;i<RF4432_RxBuf_Len;i++)
      {
       //serialsend(RF4432_RxBuf);
       UART_Send_Byte(RF4432_RxBuf); //向串口发送接收到的数据
       delay_10us(10);
      }
     RF4432_SetRxMode(); //设置成接收模式
         UART_Send_Str("成功接收完毕,恢复到接收状态....\n");
    // send_enable=1;
    } 
    
    LampOn; delay(50) ;LampOff;delay(50) ;
     if(btn_press==0)
     {
      while(btn_press==0);
       UART_Send_Str("按键被按下,开始发送....\n");
         send_enable=1; 
     }
     else send_enable=0;
   if(send_enable)
         {
        send_enable=0;
     // UART_Send_Str("开始发送....\n");
        /*for(i=1;i<RF4432_TxBuf_Len;i++)
     {
      RF4432_TxBuf=RF4432_RxBuf;
     }*/
        RF4432_TxPacket();
        RF4432_SetRxMode(); //设置成接收模式
        UART_Send_Str("发送完毕,恢复到接收状态....\n");
          }
   
   
    }
}

 

 


 

51test4432_1.rar

76.52 KB, 下载次数: 1846

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2011-8-16 14:51:45 | 显示全部楼层
买的模块么?
能传输多远?测试过没,这东西据说可以传2KM啊。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2013-12-12
在线时间
2 小时
发表于 2013-12-12 10:35:49 | 显示全部楼层
thank
回复 支持 反对

使用道具 举报

0

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
543
金钱
543
注册时间
2013-8-22
在线时间
40 小时
发表于 2017-1-3 14:32:21 | 显示全部楼层
楼主发帖辛苦了,谢谢分享!!!!!!!
回复 支持 反对

使用道具 举报

0

主题

167

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
204
金钱
204
注册时间
2019-4-2
在线时间
4 小时
发表于 2019-4-22 10:57:15 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 18:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表