完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教大家一个问题,我用STM32和esp8266搭配,通过串口配置Wi-Fi模块让它开热点,然后我用电脑连上这个热点,用网络调试助手给esp8266发送信息,发送信息没有问题,但是接受的时候有点小问题。我打算发送1 led1亮 发送2 led2亮。但是实际情况是 单片机执行的命令比网络调试助手发送的指令满了一拍,也就是说 我第一次 发送1 单片机没反应 第二次 发送2 单片机led1才亮 第三次发送2 led2才亮 就不是很理解为什么反应慢了一拍。希望有前辈帮帮忙
void UART7_IRQHandler(void) { u8 Res; if(USART_GetiTStatus(UART7, USART_IT_RXNE) != RESET) { USART_ClearITPendingBit(UART7,USART_IT_RXNE); Res =USART_ReceiveData(UART7); if((UART7_RX_STA&0x8000)==0) { if(UART7_RX_STA&0x4000) { if(Res!=0x0a)UART7_RX_STA=0; else UART7_RX_STA|=0x8000; } else //»¹Ã»ÊÕµ½0X0D { if(Res==0x0d)UART7_RX_STA|=0x4000; else { UART7_RX_BUF[UART7_RX_STA&0X3FFF]=Res ; UART7_RX_STA++; if(UART7_RX_STA>(UART7_REC_LEN-1))UART7_RX_STA=0; } } } } } 这里是串口中断服务函数的因为只需要接收 while(1) { if(UART7_RX_STA&0x8000) { len=UART7_RX_STA&0x3fff; if(UART7_RX_BUF[len-1]==0x31) { LED0=0; } if(UART7_RX_BUF[len-1]==0x32) { LED0=1; } UART7_RX_STA=0; } } 这里是主函数 就一直判断最后一位数据 |
|
相关推荐
1 条评论
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1068 浏览 1 评论
868 浏览 0 评论
MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
614 浏览 0 评论
自定义系统时钟频率后,用库函数和微带两种方式点亮LED灯,为什么灯的闪烁频率不一致?
1452 浏览 2 评论
1671 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 19:44 , Processed in 0.578872 second(s), Total 75, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号