完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
这是我写的主函数,除了nrf24l01.h改动了传输数据长度,改成了2个字节传输,其他没变。主要思路是ADC采集到12位数据,将12位数据存到一个u8数组中,数组长度为2,然后NRF发送数组的数据出去,用于其他用途。
#include "STM32f10x.h" #include "24l01.h" #include "spi.h" #include "adc.h" #include "delay.h" #include "usart.h" int main(void) { u16 adcx1; u8 temp_buf1[2]; SystemInit (); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2 //u8 temp_buf2[2]; delay_init(); //延时函数初始化 uart_init(9600); //串口初始化为9600 Adc_Init(); //ADC初始化 printf("ADC初始化完成rn"); NRF24L01_Init(); //初始化NRF24L01 while(NRF24L01_Check()); printf("NRF初始化完成rn"); NRF24L01_TX_Mode(); printf("发送模式rn"); while(1) { adcx1=Get_Adc_Average(ADC_Channel_0,10); printf("adc数据rn"); temp_buf1[0]=(adcx1>>8); temp_buf1[1]=(adcx1&0x00ff); while(NRF24L01_TxPacket(temp_buf1)!=TX_OK); printf("fasong完成rn"); } } 但是程序一直陷入在 u8 NRF24L01_TxPacket(u8 *txbuf) { u8 sta; SPI1_SetSpeed(SPI_BaudRatePrescaler_8);//spi速度为9Mhz(24L01的最大SPI时钟为10Mhz) NRF24L01_CE=0; NRF24L01_Write_Buf(WR_TX_PLOAD,txbuf,TX_PLOAD_WIDTH);//写数据到TX BUF 32个字节 NRF24L01_CE=1;//启动发送 while(NRF24L01_IRQ!=0);//等待发送完成 sta=NRF24L01_Read_Reg(STATUS); //读取状态寄存器的值 NRF24L01_Write_Reg(NRF_WRITE_REG+STATUS,sta); //清除TX_DS或MAX_RT中断标志 if(sta&MAX_TX)//达到最大重发次数 { NRF24L01_Write_Reg(FLUSH_TX,0xff);//清除TX FIFO寄存器 return MAX_TX; } if(sta&TX_OK)//发送完成 { return TX_OK; } return 0xff;//其他原因发送失败 } 里面的while(NRF24L01_IRQ!=0)语句中死循环,这是什么原因。NRF初始化和adc数据采集都成功了,数据就是发不出去 |
|
相关推荐
4个回答
|
|
while(NRF24L01_IRQ!=0)是跟NRF24L01内部的Enhanced Short Burst协议有关,原子的资料里有有个《NRF24L01功能使用文档》,里面的第五点有说到。
具体的波形可以自己看看文档的波形图,也可以自己用示波器测一下。 针对楼主的情况,可以换一个模块来试一下,说不定是模块坏了 |
|
|
|
我来试试呢,谢谢了
|
|
|
|
|
|
|
|
@zeng JIN ,楼主解决了没?
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2486 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2266 浏览 5 评论
3058 浏览 3 评论
2731 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2691 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
490浏览 1评论
752浏览 0评论
838浏览 0评论
529浏览 0评论
335浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-27 19:14 , Processed in 1.156681 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号