新闻中心

EEPW首页>嵌入式系统>设计应用> 基于MSP430单片机驱动NRF24L01无线模块接收C语言程序

基于MSP430单片机驱动NRF24L01无线模块接收C语言程序

作者: 时间:2016-11-30 来源:网络 收藏
////////////////////////////////////////////// for(i=0;i<4;i++) //发送低4位{if((b&0x08)?1:0) //1LCD_D_1; //data=1;elseLCD_D_0; //data=0;LCD_CLK_0; //clk=0LCD_CLK_1; ; //clk=1b=b<<1;}LCD_D_0; //data=0;for(i=0;i<4;i++) //RS,RW,0 发送4个0;{LCD_CLK_0; //clk=0LCD_CLK_1; ; //clk=1} LCD_CS_1; //cs=1;Delayus(15);}void CLEAR(){Write_command(0x30);Write_command(0x01);Write_command(0x34);Write_command(0x30);}void drclear(void){//以下是清绘画RAMuchar i,j;Write_command(0x34);for(j=0;j<32;j++){for(i=0;i<32;i++){tu[i][j]=0x00;}} for(j=0;j<32;j++){for(i=0;i<16;i++){tu[i][j]=0x00;Write_command(0x80+j); //设定垂直坐标Write_command(0x80+i); //设定水平坐标Write_data(0x00); //放入数据高字节Write_data(0x00); //放入数据低字节}} }void LCD_Init(){LCD_RST_0; //rst=0Delayus(100);LCD_RST_1; //rst=1Delayus(100);Write_command(0x30);Delayus(20);Write_command(0x30);Delayus(20);Write_command(0x30);Write_command(0x30);//--------------Write_command(0x0c);//Write_command(0x0C);Delayus(10);Write_command(0x01);Delayus(20);Write_command(0x06);/*//以下是清绘画RAMuchar i,j;Write_command(0x34);for(j=0;j<32;j++){for(i=0;i<16;i++){Write_command(0x80+j); //设定垂直坐标Write_command(0x80+i); //设定水平坐标Write_data(0x00); //放入数据高字节Write_data(0x00); //放入数据低字节}} */}void writechar(uchar x, uint chinese){Write_command(0x30);Write_command(x);Write_data(chinese);}void writechinese(uchar x,const char *p){uint i;i=strlen(p);Write_command(x);for(;i;i--)Write_data(*(p++)); }void hexdisp(uchar f1){Write_data(0+f1+7*(f1/10));}void hex4(uint f2){uchar f1;f1=(f2&0xf000)>>12;hexdisp(f1);f1=(f2&0x0f00)>>8;hexdisp(f1);f1=(f2&0xf0)>>4;hexdisp(f1);f1=f2&0x0f;hexdisp(f1);}void liney(uchar x,uchar y,uchar l) //在(x,y)向下开始显示长度为l(<=16)的竖线{uchar l1,i;uint x1=0x00,x2=0x00,ix=x/16;l1=x-ix*16;if (l1<8){x1=0x80>>l1;}else{x2=0x80>>(l1-8);}for (i=0;i >(l1+l2);x1=x1< >l1;x2=0xff< >(l2+l1-8);x2=x2< >l1;x2=0xff;}else{l2=l1-8;x1=0x00;x2=0xff>>l2;}if(l+l1<=24){l2=24-l-l1;x3=0xff< 0;k--){c^=a&0x0001; //奇偶校验a=a>>1;}buffer=buffer|c;return buffer;}/******************************************************************///收发void send_bit1(){send_1;Delayus(500);send_0;Delayus(500);}void send_bit0(){send_0;Delayus(1000);}void send_data(){int k;ulong buffer2;buffer2=convert();for(k=16;k>0;k--)//发送数据位{if(buffer2&0x01==0x01)send_bit1();elsesend_bit0();buffer2=buffer2>>1;}}void send_adrs(uint z){ int k;uint buffer1=z;for(k=16;k>0;k--)//发送地址位{if(buffer1&0x01==0x01)send_bit1();elsesend_bit0();buffer1=buffer1>>1;}}

评论


技术专区

关闭