久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
NRF2401單片機(jī)收發(fā)程序下載
[打印本頁]
作者:
1209793943
時(shí)間:
2016-3-17 17:43
標(biāo)題:
NRF2401單片機(jī)收發(fā)程序下載
基本成功。
收到數(shù)據(jù)時(shí),能點(diǎn)亮一個(gè)led。
單片機(jī) STC12C5260S2 1T
延時(shí)用的是51單片機(jī)小精靈 stc1T 模式編寫
1.8上午,發(fā)送程序已做部分優(yōu)化,優(yōu)化了延時(shí),使延時(shí)更加短。
1.8下午,接收程序已做部分優(yōu)化,優(yōu)化了延時(shí),使延時(shí)更加短。
發(fā)送主要程序(完整版請(qǐng)下載附件:
nrf2401—基本驅(qū)動(dòng)程序.rar
(89 KB, 下載次數(shù): 71)
2016-3-18 17:33 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
):
#include "delay.h"
#include "nrf2401.h"
uchar TxRxBuff[32]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,
0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x20,0x21,
0x22,0x23,0x24,0x25,0x26};
uint i;
void init_uart() //串口初始化 2400
{
TMOD=0X20;
SCON=0X50;
TH1=0XF3;
TL1=0XF3;
PCON=0X00;
EA=1;
ES=1;
TR1=1;
}
void serve_zd() interrupt 4
{
if(RI)
{
RI=0;
}
else
{
TI=0;
}
}
void main()
{
bit flag=1;
uint i,j;
init_uart();
Config2401();
delay_600us();
SetTxMode(); //設(shè)置為發(fā)送模式
// 初始化后,為發(fā)送模式
while(1)
{
for(i=0;i<30;i++) //延時(shí)一會(huì)兒
for(j=0;j<30;j++);
///////////////
/// 模式設(shè)置 ///
//key1按下一次,設(shè)置為發(fā)送模式,按下key2,發(fā)送數(shù)據(jù), //亮一個(gè)led
//key1按下兩次,設(shè)置為接收模式,按下key3,將數(shù)據(jù)傳至mcu。//亮兩個(gè)led
if(key1==0) //去抖檢測
delay10ms();
if(key1==0)
{
while(key1==0);
if(key1==1) //松手檢測
delay10ms();
if(key1==1)
{
if(!flag)
{
flag=1; //置標(biāo)志位,為下次按鍵準(zhǔn)備
led1=0; // 燈測試
delay1ms(1000); //指示燈亮一秒
SetTxMode(); //設(shè)置為發(fā)送模式
led1=1; //燈滅,說明已設(shè)置好
}
if(flag) //第二次按鍵判斷 ,設(shè)置為接收模式
{
led1=0; //指示燈亮
led2=0;
delay1ms(1000);
SetRxMode(); //設(shè)置為接收模式
led1=1;
led2=1; //指示燈滅,說明已設(shè)置好
flag=0; //復(fù)位標(biāo)志符
}
}
}
////////////////////////////////////////////////////
//////////////////////////////////////////////////
if(key2==0) //去抖檢測
delay10ms();
if(key2==0)
{
while(key2==0);
if(key2==1) //松手檢測
delay10ms();
if(key2==1)
{
if(!flag)
{
led3=0;
nRF2401_TxPacket(TxRxBuff); //發(fā)送數(shù)組TxBuf[]內(nèi)的數(shù)據(jù)
delay1ms(1000);
led3=1;
}
if(flag)
{
if(nRF2401_RxPacket(TxRxBuff)==1);//檢查是否有數(shù)據(jù)要收,若有,則存在數(shù)組RxBuf中
//并返回 1;沒有則返回 0;
{
led3=0;
led4=0;
delay1ms(2000);
led3=1;
led4=1;
}
}
}
}
///////////////////////////////////////////////////
////////////////////////////////////////////////////
if(key3==0) //去抖檢測
delay10ms();
if(key3==0)
{
while(key3==0);
if(key3==1) //松手檢測
delay10ms();
if(key3==1)
{
led3=0;
delay1ms(1000);
i=0;
while(TxRxBuff[i]!='\0')
{
SBUF=TxRxBuff[i];
i++;
delay_600us();
}
}
}
//////////////////////////////////////
///////////////////////////////////////////////
/*
此處添加顯示程序
*/
}
}
復(fù)制代碼
接受部分主程序:
#include "delay.h"
#include "nrf2401.h"
uchar TxRxBuff[32]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,
0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x20,0x21,
0x22,0x23,0x24,0x25,0x26};
uint i;
void init_uart() //串口初始化 2400
{
TMOD=0X20;
SCON=0X50;
TH1=0XF3;
TL1=0XF3;
PCON=0X00;
EA=1;
ES=1;
TR1=1;
}
void serve_zd() interrupt 4
{
if(RI)
{
RI=0;
}
else
{
TI=0;
}
}
void main()
{
bit flag=1;
uint i,j;
init_uart();
Config2401();
delay_600us();
SetTxMode(); //設(shè)置為發(fā)送模式
// 初始化后,為發(fā)送模式
while(1)
{
for(i=0;i<30;i++) //延時(shí)一會(huì)兒
for(j=0;j<30;j++);
///////////////
/// 模式設(shè)置 ///
//key1按下一次,設(shè)置為發(fā)送模式,按下key2,發(fā)送數(shù)據(jù), //亮一個(gè)led
//key1按下兩次,設(shè)置為接收模式,按下key3,將數(shù)據(jù)傳至mcu。//亮兩個(gè)led
if(key1==0) //去抖檢測
delay10ms();
if(key1==0)
{
while(key1==0);
if(key1==1) //松手檢測
delay10ms();
if(key1==1)
{
if(!flag)
{
flag=1; //置標(biāo)志位,為下次按鍵準(zhǔn)備
led1=0; // 燈測試
delay1ms(1000); //指示燈亮一秒
SetTxMode(); //設(shè)置為發(fā)送模式
led1=1; //燈滅,說明已設(shè)置好
}
if(flag) //第二次按鍵判斷 ,設(shè)置為接收模式
{
led1=0; //指示燈亮
led2=0;
delay1ms(1000);
SetRxMode(); //設(shè)置為接收模式
led1=1;
led2=1; //指示燈滅,說明已設(shè)置好
flag=0; //復(fù)位標(biāo)志符
}
}
}
////////////////////////////////////////////////////
//////////////////////////////////////////////////
if(key2==0) //去抖檢測
delay10ms();
if(key2==0)
{
while(key2==0);
if(key2==1) //松手檢測
delay10ms();
if(key2==1)
{
if(!flag)
{
led3=0;
nRF2401_TxPacket(TxRxBuff); //發(fā)送數(shù)組TxBuf[]內(nèi)的數(shù)據(jù)
delay1ms(1000);
led3=1;
}
if(flag)
{
if(nRF2401_RxPacket(TxRxBuff)==1);//檢查是否有數(shù)據(jù)要收,若有,則存在數(shù)組RxBuf中
//并返回 1;沒有則返回 0;
{
led3=0;
led4=0;
delay1ms(2000);
led3=1;
led4=1;
}
}
}
}
///////////////////////////////////////////////////
////////////////////////////////////////////////////
if(key3==0) //去抖檢測
delay10ms();
if(key3==0)
{
while(key3==0);
if(key3==1) //松手檢測
delay10ms();
if(key3==1)
{
led3=0;
delay1ms(1000);
i=0;
while(TxRxBuff[i]!='\0')
{
SBUF=TxRxBuff[i];
i++;
delay_600us();
}
}
}
//////////////////////////////////////
///////////////////////////////////////////////
/*
此處添加顯示程序
*/
}
}
復(fù)制代碼
作者:
xcj123
時(shí)間:
2019-8-22 17:11
有用的資料
作者:
jakinhu
時(shí)間:
2019-8-25 09:43
弱弱的問下,這個(gè)是屬于51單片機(jī)控制NRF2401對(duì)吧,那NRF2401 本身程序誰提供?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
狠狠亚洲
|
久草网站
|
日韩精品免费
|
国产精品久久久久久久模特
|
成年人网站在线观看视频
|
97色在线视频
|
国产小视频在线
|
91.色
|
成人午夜激情
|
亚洲久久
|
国产色播av在线
|
www.日韩
|
国产色99精品9i
|
欧美久久一区二区三区
|
久久久久久国产精品久久
|
夜夜艹
|
亚洲精品电影
|
亚洲3p
|
中文成人在线
|
欧美成人一区二区三区片免费
|
97av在线
|
亚洲精品福利在线
|
一区二区三区视频在线
|
亚洲视频在线观看
|
精品久久久久久久久久久
|
国产精品免费一区二区三区
|
欧美成人一区二区
|
欧美一区二区三区大片
|
亚洲精选一区二区
|
国产一区二区三区在线
|
国产黄色在线观看
|
亚洲二区在线观看
|
中文一区
|
精品在线免费看
|
欧美精品v
|
亚洲精品视频一区
|
久久精品二区亚洲w码
|
久久久一区二区
|
亚洲毛片在线观看
|
日韩在线高清
|
青青久久久
|