天线|RF射频
直播中

刘龙飞

7年用户 257经验值
私信 关注
[问答]

在UCOSII多任务运行中移植NRF24L01无线通讯检测不到24L01的原因?

在UCOSII多任务运行中移植NRF24L01无线通讯,移植后一直提醒检测不到 24L01,24L01是没问题的。24L01的代码是用寄存器版本。

回帖(7)

肖舒

2020-4-30 08:27:00

应该不是吧,这个代码单独出来是可以用的

        while(NRF24L01_Check())//检测不到24L01

        {

                LCD_ShowString(60,190,"24L01 Check Failed!");

                delay_ms(500);

                LCD_ShowString(60,190,"lease Check!      ");

                delay_ms(500);

                LED0=!LED0;//DS0闪烁

        }

现在是一直在这个循环里面,找了好久都不知道哪里出错了

                                                       

---------------------------------

24L01的代码是用原子哥你写的。其他的就是在main那里改了一点
举报

陈涛

2020-4-30 08:35:52
战舰板我也是支持NRF24L01的,也有ucos,我的 就没问题的。

是不是SPI配置错了?
举报

李悛

2020-4-30 08:54:03

对了,一开始加入NRF24L01代码后,有警告和错误,不知道是不会是这个的问题

警告..  HARDWARENRF24L0124l01.h(20): warning:  #47-D: incompatible redefinition of macro "READ_REG" (declared at line 8314 of "..USERstm32f10x.h")



..HARDWARENRF24L0124l01.h(21): warning:  #47-D: incompatible redefinition of macro "WRITE_REG" (declared at line 8312 of "..USERstm32f10x.h")

所以我参考战舰板的代码改成

#define READ_REG_NRF        0x00  //读配置寄存器,低5位为寄存器地

#define WRITE_REG_NRF       0x20  //写配置寄存器,低5位为寄存器地址



错误..HARDWARENRF24L0124l01.c(44): error:  #20: identifier "SPI_SPEED_8" is undefined

这里我参考战舰版的库函数代码改成了

SPIx_SetSpeed(SPI_BaudRatePrescaler_4);



会不会是这两个地方的问题
举报

许伟星

2020-4-30 09:06:25

SPI我没做修改,就是多任务里面的代码
举报

更多回帖

发帖
×
20
完善资料,
赚取积分