欢迎来到天天文库
浏览记录
ID:40845408
大小:24.50 KB
页数:16页
时间:2019-08-08
《无线HART发送与接收代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include #include #defineucharunsignedchar /***************************************************/ #defineTX_ADR_WIDTH 5 //5字节宽度的发送/接收地址 #defineTX_PLOAD_WIDTH4 //数据通道有效数据宽度 #defineLEDP1 ucharcodeTX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x1
2、0,0x10,0x01}; //定义一个静态发送地址 ucharRX_BUF[TX_PLOAD_WIDTH]; ucharTX_BUF[TX_PLOAD_WIDTH]; ucharflag; ucharDATA=0x01; ucharbdatasta; sbit RX_DR =sta^6; sbit TX_DS =sta^5; sbit MAX_RT=sta^4; sbitkey=P2^0; sbitwela=P2^6; sbitdula=P2^7; /*************
3、*************************************/ /************************************************** 函数:init_io() 描述: 初始化IO /**************************************************/ voidinit_io(void) { CE =0; //待机 CSN=1; // SPI禁止 SCK=0; //SP
4、I时钟置低 IRQ=1; //中断复位 LED=0xff; //关闭指示灯 } /**************************************************/ /************************************************** 函数:delay_ms() 描述: 延迟x毫秒 /**************************************************/ voiddelay_ms(uchar
5、x) { uchari,j; i=0; for(i=0;i6、F24L01,同时从nRF24L01 读出一字节 /**************************************************/ ucharSPI_RW(ucharbyte) { uchari; for(i=0;i<8;i++) //循环8次 { MOSI=(byte&0x80); //byte最高位输出到MOSI byte<<=1; //低一位移位到最高位 SCK=1; //拉高SCK,nRF7、24L01从MOSI读入1位数据,同时从MISO输出1位数据 byte8、=MISO; //读MISO到byte最低位 SCK=0; //SCK置低 } return(byte); //返回读出的一字节 } /**************************************************/ /************************************************** 函数:S9、PI_RW_Reg() 描述: 写数据value到reg寄存器 /**************************************************/ ucharSPI_RW_Reg(ucharreg,ucharvalue) { ucharstatus; CSN=0; //CSN置低,开始传输数据
6、F24L01,同时从nRF24L01 读出一字节 /**************************************************/ ucharSPI_RW(ucharbyte) { uchari; for(i=0;i<8;i++) //循环8次 { MOSI=(byte&0x80); //byte最高位输出到MOSI byte<<=1; //低一位移位到最高位 SCK=1; //拉高SCK,nRF
7、24L01从MOSI读入1位数据,同时从MISO输出1位数据 byte
8、=MISO; //读MISO到byte最低位 SCK=0; //SCK置低 } return(byte); //返回读出的一字节 } /**************************************************/ /************************************************** 函数:S
9、PI_RW_Reg() 描述: 写数据value到reg寄存器 /**************************************************/ ucharSPI_RW_Reg(ucharreg,ucharvalue) { ucharstatus; CSN=0; //CSN置低,开始传输数据
此文档下载收益归作者所有