你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于使用NRF24L01能不能通过中断唤醒的问题

[复制链接]
miracle533 提问时间:2018-3-26 17:38 /
本帖最后由 miracle533 于 2018-3-31 08:24 编辑

LZ想用2个NRF24L01模块,发送端发送数据,使接收端进入停机模式。
问题是在停机模式下,我想用发送端发送数据,接收端接收数据后,从停机模式下唤醒;我将接收端的MOSI(复用推挽输出)引脚挂在了中断线上,发送数据后(设置的上拉或下拉进入中断函数)都不能进入中断,更别说唤醒了。想问一下理论上这么做行不行。。
收藏 评论10 发布时间:2018-3-26 17:38

举报

10个回答
toofree 回答时间:2018-3-27 00:55:33
楼主始终没出现STM32或MCU字样,只有两个NRF24L01怎么玩,得有CPU控制吧。
把你的想法画个图吧。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

miracle533 回答时间:2018-3-27 08:23:17
toofree 发表于 2018-3-27 00:55
楼主始终没出现STM32或MCU字样,只有两个NRF24L01怎么玩,得有CPU控制吧。
把你的想法画个图吧。 ...

你好,,用的是2个F103C8T6的最小系统
bargagebaobei 回答时间:2018-3-27 12:49:14
当然可行  就看你进入什么模式下了 001xzemJty6EwsVWry3eb&690.jpg

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

miracle533 回答时间:2018-3-27 18:50:26
bargagebaobei 发表于 2018-3-27 12:49
当然可行  就看你进入什么模式下了

你好 我进入的是停机模式,试了还是不可以
miracle533 回答时间:2018-3-27 19:06:03
本帖最后由 miracle533 于 2018-3-27 19:14 编辑
bargagebaobei 发表于 2018-3-27 12:49
当然可行  就看你进入什么模式下了

时钟已经在别的函数里打开
  1. /* CE(PB10) IRQ(PB11) CS(PB12) SCK(PB13) SPI_MISO(PB14)  SPI_MOSI(PB15)        */
  2. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  3. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//普通输出模式
  4. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
  5. GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PG6,7

  6. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
  7. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;//普通输出模式
  8. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
  9. GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PG6,7


  10. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
  11. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//
  12. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
  13. GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PB14  
复制代码
miracle533 回答时间:2018-3-27 19:14:22
miracle533 发表于 2018-3-27 19:06
时钟已经在别的函数里打开
  1.         EXTI_InitTypeDef EXTI_InitStructure;
  2.        
  3.         GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource11);
  4.        
  5.         EXTI_InitStructure.EXTI_Line=EXTI_Line11;                            //使能外部中断线5
  6.         EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;                        //外部中断
  7.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;             //下降沿触发       
  8.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;                           //中断线使能
  9.         EXTI_Init(&EXTI_InitStructure);       
复制代码
miracle533 回答时间:2018-3-27 19:14:43

NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;        //串口中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;          //抢占优先级0
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;             //子优先级为0
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     //使能
NVIC_Init(&NVIC_InitStructure);
miracle533 回答时间:2018-3-27 19:14:59
miracle533 发表于 2018-3-27 19:14
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;        //串口中断
NVIC_InitStructure.NVIC_IR ...
  1. void EXTI15_10_Handler()
  2. {
  3.     SystemInit();
  4.     printf("22243436554");
  5.     EXTI_ClearITPendingBit(EXTI_Line11);
  6. }
复制代码
miracle533 回答时间:2018-3-29 19:27:00
捞一捞
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版