完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
串口2中断程序是这么写的,实际测试时,串口助手向STN32的串口2发送一串字符串数据,然后通过STM32的串口1发送回串口调试助手,实际上到串口调试助手上显示的是连续进了三次中断一样,输出数据是一个字节后面接了11个00,紧接着是另一个字符数据在接11个00,如何一个中断接收所有数据,存储在数组中。
void USART2_IRQHandler(void) { uint8_t value = 0; uint8_t BCC_sum=0; if(USART_GetiTStatus(USART2, USART_IT_RXNE) != RESET) //èç1û½óêÕμ½êy¾Y { USART_ClearITPendingBit(USART2,USART_IT_RXNE); //Çå3yÖD¶Ï±ê־λ USART_ITConfig(USART2, USART_IT_RXNE, DISABLE); BUFFER[buffer_index]=USART_ReceiveData(USART2); buffer_index++; text=1; if(text==1) { for(value=0;value<12;value++) { printf("%x ",BUFFER[value]); } text = 0; buffer_index = 0; USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); } |
|
相关推荐
4个回答
|
|
应该加结束的判断啊
|
|
|
|
这个感觉楼主没有加入结束循环的判断呀 楼主再加入试试看
|
|
|
|
while(1) { if(text==1) { for(i=0;i<12;i++) { printf("%x ",BUFFER); } text = 0; buffer_index = 0; } } 在主程序中的while程序是这样写的,这样写收发数据是正常的,但是想知道这样我发送一串字符串之后还是多少个字节就进入多少次中断??? |
|
|
|
楼主这个问题有解决吗 我也存在同样的问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2255 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2071 浏览 3 评论
4687 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2215 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2757 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 00:41 , Processed in 0.586075 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号