发 帖  
原厂入驻New
[问答] 用例程的时候可以正常接收机到数据,但自己程序里就收不到是怎么回事
21 数据
分享
<p>
        用例程的时候可以正常接收机到数据,但是到自己程序里就完全收不到,串口可以正常接收到。求助大虾们看看是不是哪里冲突了。<br />
<br />
<br />
int main(void)<br />
{ u8 tmp_buf[33]="123"; <br />
u8 t,key; <br />
u16 textnum=123;<br />
  u8 menu1,menu2,menu3;//标志位<br />
  u8 menu; //菜单切换<br />
u16 touchx,touchy; <br />
u8 touchdis[20];  <br />
  NVIC_Configuration();  <br />
delay_init();       //延时函数初始化   <br />
uart_init(9600);   //串口初始化为9600    <br />
LCD_Init();     //初始化液晶 <br />
LED_Init();         //LED初始化                   <br />
KEY_Init();      //按键初始化  <br />
                       <span style="color:#E53333;"> //如果初始化放这个位置  直接初始化失败</span><br />
usmart_dev.init(72); //usmart初始化 <br />
  mem_init();    //初始化内存池     <br />
  exfuns_init();    //为fatfs相关变量申请内存  <br />
  f_mount(fs[0],"0:",1);  //挂载SD卡 <br />
  f_mount(fs[1],"1:",1);  //挂载FLASH.<br />
LCD_display_Dir(1);<br />
tp_dev.init();   //触摸屏初始化 <br />
  menu=0;<br />
<span style="background-color:#E53333;">   NRF24l01_Init();     //初始化NRF24L01 </span><br />
//  delay_ms(10);<br />
while(NRF24L01_Check()) //检查NRF24L01是否在位. <br />
{<br />
  LCD_ShowString(0,100,200,24,24,"NRF24L01 Error");<br />
  delay_ms(200);<br />
  LCD_Fill(60,130,239,130+16,WHITE);<br />
   delay_ms(200);<br />
}<br />
LCD_ShowString(30,100,200,16,16,"NRF24L01        ");<br />
LCD_ShowString(30,100,200,16,16,"NRF24L01 OK!!");<br />
<span style="color:#E53333;">  NRF24L01_RX_Mode(); //设置为接收模式</span>
</p>
<p>
         while(font_init())  //检查字库<br />
{<br />
  LCD_Clear(WHITE);      //清屏<br />
   OINT_COLOR=RED;   //设置字体为红色           <br />
  LCD_ShowString(30,50,200,16,16,"mini STM32");<br />
}
</p>
<p>
         showmenu(); //欢迎菜单和主菜单<br />
}<br />
<br />
<br />
while(1)语句的部分<br />
<br />
//   IF(NRF24L01_RxPacket(DataBuf)==0)//一旦接收到信息,则显示出来.<br />
//   {<br />
//   anylsis(DataBuf);<br />
//   delay_ms(20);<br />
//   LCD_ShowString(0,180,200,16,16,DataBuf);<br />
//   } <br />
  if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来.<br />
   {<br />
    tmp_buf[32]=0;//加入字符串结束符<br />
    LCD_ShowString(0,160,239,32,16,tmp_buf);    <br />
    printf("receive OK\n");<br />
    printf("%s",tmp_buf);<br />
   }<br />
   LCD_ShowString(0,160,239,32,16,tmp_buf);
</p>
0
6 天前   评论 分享淘帖 邀请回答
3个回答
这程序看上去没啥问题。
<br>是的&nbsp;&nbsp;&nbsp;我也纠结了好久,&nbsp;就在想会不会是硬件冲突,如果单单只刷入&nbsp;无线的那个例程毫无问题,正常收数据。

只有小组成员才能发言,加入小组>>

92个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

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