完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的串口中断是这样写的
void USART1_IRQHandler(void) //串口中断函数 { u8 Res; if(USART_GetiTStatus(USART1, USART_IT_RXNE) != RESET) //接受中断 { USART_ClearITPendingBit(USART1,USART_IT_RXNE); Res =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据 Bluetooth_data=Res; //将接收到的数据 Bluetooth_data } } 主函数关键部分是这样 LED0=0; LED1=0; while(1) { switch(Bluetooth_data) { case 0x01: LED0=!LED0; break; case 0x02: LED1=!LED1; break; case 0x03: LED0=!LED0;LED1=!LED1; break; } } } 当我用手机发送命令的时候,开发板上的LED没有任何 反应。这是为什么呢,是我的中断函数哪出错了吗?
|
|
相关推荐
14个回答
|
|
没有看明白~~~~~~~~~~~~~~~~
|
|
|
|
没有看明白.。。。。。。。。。
|
|
|
|
加油。。。。。。。
|
|
|
|
是不是中断的数据存储位置没留缓存
|
|
|
|
LED0和LED1有没有进行IO配置?
|
|
|
|
stm32不支持“LED0!=LED0;”这种操作的
|
|
|
|
是不是没有return参数给主函数
|
|
|
|
你的LED0的GPIO口和时钟配置了吗?
|
|
|
|
楼主的程序成功了吗
|
|
|
|
Bluetooth_data用完需要清除一下的吧
|
|
|
|
帮助顶,顶起。。。。。。。。。。。
|
|
|
|
|
|
|
|
我中断是这么写的,已成功
void USART1_IRQHandler(void) { if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) { //USART_SendData(USART1,USART_ReceiveData(USART1)); //while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET); switch(USART_ReceiveData(USART1)) { case '1'://LED1 ¿ª GPIO_ResetBits(GPIOB,GPIO_Pin_5); break; case '2'://LED1 ¹Ø GPIO_SetBits(GPIOB,GPIO_Pin_5); break; case '3'://LED2 ¿ª GPIO_ResetBits(GPIOD,GPIO_Pin_6); break; case '4'://LED2 ¹Ø GPIO_SetBits(GPIOD,GPIO_Pin_6); break; case '5'://LED3 ¿ª GPIO_ResetBits(GPIOD,GPIO_Pin_3); break; case '6'://LED3 ¹Ø GPIO_SetBits(GPIOD,GPIO_Pin_3); break; } } } |
|
|
|
威廉希尔官方网站
贴不懂,不过要顶
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2404 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1259 浏览 0 评论
3258 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
3034 浏览 4 评论
5571 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 17:30 , Processed in 0.934226 second(s), Total 66, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号