历史上的今天
今天是:2024年09月15日(星期日)
2020年09月15日 | NRF24L01使用外部中断读取数据的问题
2020-09-15 来源:eefocus

NRF24L01读取数据不能使用中断的方式,原因如下:
首先NRF24L01中断触发时,IRQ引脚会一直保持低电平直到状态寄存器中的中断标志被重新清零。
stm32的外部中断触发方式只有上升沿或者下降沿触发,若配置成外部中断模式,当RX_DR中断触发时IRQ引脚会产生一个下降沿,stm32进入中断函数执行数据读取函数,读取完之后清除状态寄存器标志,IRQ引脚重新变为高电平。但,若在在清除中断标志之后刚好又来了一帧数据,而此时还没有出中断函数,IRQ引脚就会被置为低电平,然后退出中断函数,但IRQ引脚再也产生不了下降沿信号(因为中断标志位不会再被清除),也即再也进不了中断了。
上一篇:串口透传实现机制
下一篇:STM32F4时钟设置分析
史海拾趣
|
IAR 下如何设置 JTAG 以调试 MSP430F135啊 我下了个代码,也有个板子,代码是 IAR 工程的 MSP430 程序 板子上的 是MSPF135 的,留有JTAG 接口 用H-JTAG 似乎找不到这个芯片啊, 更不要说烧写了hex文件了。 以前都是IAR +H-JTAG + JTAG 板子,调试程序的。 现在想知道,MSP430 ,在IAR 如 ...… 查看全部问答> |
|
刚才无聊的翻看谭浩强的《c++程序设计》,发现在182页的用指针显示二维数组的程序有点别扭,分析了一下,觉得是错的,大家也与我一同鉴别一下吧 #include using namespace std; int main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23} ...… 查看全部问答> |
|
最近在搞STM32的USB模块,要做一个功能就是程序要知道USB是否在连接状态,现在用的是 bDeviceState 这个变量 我在USB_init()中把这个变量初始化为 bDeviceState = UNCONNECTED;,这个变量在 上电初始化之后,会被USB Reset 初始化为:b ...… 查看全部问答> |
|
大家好! 我现在要用TI M3的GPIO来实现接收SPI上的数据,SPI的格式如下: 主机SPI信号描述: 在SYN_EN保持低电平的期间,SYN_DATA发送24bit数据。时钟SYN_CLK为4.5MHZ 我现在板子上的硬件是 ...… 查看全部问答> |
|
#include void PLLSet() { unsigned long ulRCC,ulDelay; ulRCC=SYSCTL_RCC_R; //读取当前RCC寄 ...… 查看全部问答> |
|
心情消极、颈椎老化、消化道疲软、记忆力减退……如果你符合网传的那些症状,搞不好已经一脚踏进了“初老族”的圈子。最近,微博上流传着各种关于“初老症状”的描述。大家伙儿觉得自己是“初老族”吗?我们又该如何调整心态呢? “初老 ...… 查看全部问答> |
|
quartus 11 用 ModelSim 6.6d 仿真无法显示信号线 如图,没有信号线,我有四根信号线的,是简单的加法器,应该是ModelSim 设置的问题吧? add_top.V 文件 module add_top(sum,carry,a_in,b_in); input a_in,b_in; output sum,carry; ...… 查看全部问答> |




