关于使用NRF24L01能不能通过中断唤醒的问题
本帖最后由 miracle533 于 2018-3-31 08:24 编辑LZ想用2个NRF24L01模块,发送端发送数据,使接收端进入停机模式。
问题是在停机模式下,我想用发送端发送数据,接收端接收数据后,从停机模式下唤醒;我将接收端的MOSI(复用推挽输出)引脚挂在了中断线上,发送数据后(设置的上拉或下拉进入中断函数)都不能进入中断,更别说唤醒了。想问一下理论上这么做行不行。。
楼主始终没出现STM32或MCU字样,只有两个NRF24L01怎么玩,得有CPU控制吧。
把你的想法画个图吧。 toofree 发表于 2018-3-27 00:55
楼主始终没出现STM32或MCU字样,只有两个NRF24L01怎么玩,得有CPU控制吧。
把你的想法画个图吧。 ...
你好,,用的是2个F103C8T6的最小系统 当然可行就看你进入什么模式下了 bargagebaobei 发表于 2018-3-27 12:49
当然可行就看你进入什么模式下了
你好 我进入的是停机模式,试了还是不可以 本帖最后由 miracle533 于 2018-3-27 19:14 编辑
bargagebaobei 发表于 2018-3-27 12:49
当然可行就看你进入什么模式下了
时钟已经在别的函数里打开
/* CE(PB10) IRQ(PB11) CS(PB12) SCK(PB13) SPI_MISO(PB14)SPI_MOSI(PB15) */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//普通输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PG6,7
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;//普通输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PG6,7
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PB14 miracle533 发表于 2018-3-27 19:06
时钟已经在别的函数里打开
EXTI_InitTypeDef EXTI_InitStructure;
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource11);
EXTI_InitStructure.EXTI_Line=EXTI_Line11; //使能外部中断线5
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //外部中断
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿触发
EXTI_InitStructure.EXTI_LineCmd = ENABLE; //中断线使能
EXTI_Init(&EXTI_InitStructure); miracle533 发表于 2018-3-27 19:14
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
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //串口中断
NVIC_InitStructure.NVIC_IR ...
void EXTI15_10_Handler()
{
SystemInit();
printf("22243436554");
EXTI_ClearITPendingBit(EXTI_Line11);
} 捞一捞
页:
[1]
2