大部分使用STM32开发nrf24L01的用户基本都是照搬常见的几个开发板的源代码,在这里我做一些总结:
1.源代码中在while(1)的循环中有 NRF24L01_TX_Mode();或NRF24L01_RX_Mode();类似这样的代码,因为源码中需要检测按键以便切换的不同的模式,对于正常使用来讲,都是发送接收方确定了的,所有,只需要一次即可,没必要放到while中。
2.接收方和发送方的ADDRESS必须一致,这一点尤为重要。
3.发射的通道即频率必须一致,这个好理解。速率,数据长度,也要一致!
4.接收方无论是在中断中接收还是在while中接收,接收后必须清掉FIFO寄存器,否则会出现发送1-3次就不能正确发送的现象。
5。发送方如果是自动应答的模式,就会有检测没有应答重发的机制,一旦接收端不正常,发送方就会自动重发,直到达到最大发送次数,此时就要求接收方开机,且能正常接收-清空FIFO。
关键字:STM32 调试 24L01
引用地址:
STM32 调试 24L01 心得
推荐阅读最新更新时间:2024-11-09 23:04
关于STM32中AD采样的三种方法分析
在进行STM32F中AD采样的学习中,我们知道AD采样的方法有多种,按照逻辑程序处理有三种方式,一种是查询模式,一种是中断处理模式,一种是DMA模式。三种方法按照处理复杂方法DMA模式处理模式效率最高,其次是中断处理模式,最差是查询模式,相信很多学者在学习AD采样程序时,很多例程采用DMA模式,在这里我针对三种程序进行分别分析。 1、AD采样查询模式 在AD采样查询模式中,我们需要注意的是IO口的初始化配置,这里我采用PA2作为模拟采集的引脚(AIN2)和串口3作为打印输出。 具体如下:建立一个USART3.C和USART3.H文件,其程序为: #include usart3.h #inc
[单片机]
STM32 DMA笔记
在做实验之前,首先必须明白什么是DMA,DMA的作用又体现在哪里。 DMA,即直接内存存储,在一些数据的传输中,采用DMA方式,从而将CPU解放出来。让CPU有足够的时间处理其他的事情。 stm32使用DMA的相关操作: 1、DMA的配置 要配置的有DMA传输通道选择,传输的成员和方向、普通模式还是循环模式等等。 void DMA_Configuration(void) { DMA_InitTypeDef DMA_InitStructure; //DMA设置: //设置DMA源:内存地址&串口数据寄存器地址 //方向:内存-- 外设 //每次传输位:8bit //传输大小DMA_BufferSize=SENDBUF
[单片机]
stm32 软件精确延时非systick 非中断
在阿莫上有位大神hcambridge推荐的软件精确延时: //精确延时函数调用wait void wait(unsigned long n) { do{ n--; }while(n); } //精确延时函数 #define SYSCLK 72 //指明CPU工作频率为72MHz #define A 6 //一次循环所花的周期数 #define B 3 //调用、初始化、返回总共所用的周期数 #define delay_us(nus) wait(((nus)*(SYSCLK)-(B))/(A)) #define delay_ms(nm
[单片机]
新唐M0的MDK+NU-LINK的半主机调试使用
启动新唐M0的semihost半主机调试: 利用NUC100SERIESBSP_CMSIS_V1.03.002建立的工程。 1,针对startup_NUC1xx.s文件的修改 A,第010行改为:SEMIHOSTED SETL {TRUE} ;SEMIHOSTED SETL {FALSE} B,第256行改为:; yuanxihua@21cn.com ENTRY 2,针对 retarget.c文件的修改 A,第021行改为:#define DEBUG_ENABLE_SEMIHOST /* To enable semihosted. !!!The SEMIHOSTED of startup_NUC1x
[单片机]
STM32+74HC595:带领你10分钟用对74HC595
使用的是STM32CBT8,小模块用起来性价比超级高,资源丰富,移植u/COS及HTTP、MQTT协议等等用起来简直欲罢不能,摇摇欲仙! BUT:IO口资源太少了,我想让你驱动100个LED,你缺告诉我,我的要求太多,你满足不了...... 还好,找到了74HC595,但是网上很多资源讲的我看了半天才总结、提炼并另辟蹊径出来精髓 ========================================================== 595具体使用的步骤: 第1步:目的:将要准备输入的位数据移入74HC595数据输入端上。 方法:送位数据到_595。 第2步:目的:将位数据逐位移入74HC595,即数据串入 方法:SH
[单片机]
STM32存储器结构&存储器映射
1 STM32系统结构 要想深刻理解STM32的存储器,需要首先知道STM32的系统结构。 如Figure 1,是STM32系统结构框图。 根据STM32 Reference manual (RM0008)中的描述,如图: 可以得知STM32系统结构的组成,每一个模块更为详细的内容,请参考相关文档。 RM0008文档中可以看出,STM32采用的是Cortex-M3内核,因此,有必要了解Cortex-M3的存储器结构。 图中还可以看出,Cortex-M3是通过各个总线和Flash、SROM相连接的。 2 STM32内核(Cortex-M3)的结构 以下是Cortex-M3模块框图:
[单片机]
STM32管脚重定义
最近在学习STM32,在BZ上一篇关于的串口通信文章里有这么一段代码:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO,ENABLE); 当初是参考开发的里子写的一直对GPIOD或上“RCC_APB2Periph_AFIO”这句话的意思没搞懂,通过这几天在网上查找资料和看手册,终于高清楚了,不敢独享,希望能对跟我一样的新手有所帮助吧o(∩_∩)o... STM32上有很多I/O口,也有很多的内置外设想I2C,ADC,ISP,USART等 ,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别
[单片机]