完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我是用中断的形式进行串口通信的,我在别人的视频里看到有个写法是这样的,直接上图吧,看图,他的意思就是直接把单片机接收到的数据返回发给电脑,因此这里就没有调用重定向的printf函数了,我看视频里这样写是没问题的,串口调试的时候也是这样接收到和发送的数据一样,可是到了我的开发板上就不行了,我用的是野火的开发板,他的配套程序是这样的
void USART1_IRQHandler(void) { u8 c; if(USART_GetiTStatus(USART1, USART_IT_RXNE) != RESET) { c=USART1->DR; printf("%c",c); //将接受到的数据直接返回打印 } } 就是调用了重定向的printf函数,当然开始就重定向了,只是我在想,这样写是可以的,知道的能帮忙回答下么,感激不尽。
|
|
相关推荐
4 个讨论
|
|
void USART1_IRQHandler(void)
{ u8 res; if(USART1->SR&(1<<5))//接收到数据 { res=USART1->DR; if((USART_RX_STA&0x80)==0)//接收未完成 { if(USART_RX_STA&0x40)//接收到了0x0d { if(res!=0x0a)USART_RX_STA=0;//接收错误,重新开始 else USART_RX_STA|=0x80; //接收完成了 }else //还没收到0X0D { if(res==0x0d)USART_RX_STA|=0x40; else { USART_RX_BUF[USART_RX_STA&0X3F]=res; USART_RX_STA++; if(USART_RX_STA>63)USART_RX_STA=0;//接收数据错误,重新开始接收 } } } } } |
|
|
|
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
OV7670摄像头使用串口发送数据到另一个板子上的lcd,出现花屏
1372 浏览 1 评论
689 浏览 0 评论
666 浏览 0 评论
STM32CUBEMX(12)--IIC,12864OLED(0.96寸)移植
708 浏览 0 评论
STM32CUBEMX(5)--自定义红外NEC解码,定时器TIM捕获方式
640 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-27 13:45 , Processed in 0.597928 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号