1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
好久没有熟悉嵌入式的底层是如何实现的,移植过来能用便也不再细究。
前些天移植了个有问题的串口发送,单个字节的发送没有问题,当连续发送很多字节时,发送出来的数据不是想要发出来的,出现了一大串重复数据,后经别人帮忙排查,原来之前一直的发送数据只是向发送寄存器写值,没有进行是否发送完成的判断,就是少了下面的这句 while(USART_GetFlagStatus(USART1,USART_FLAG_TC )==RESET); 发送的形式大概有两种,其实现过程是一致的。一种是先给发送缓冲池写入数据,然后开启中断,从而在中断处理函数中把发送缓冲池中的数据发送出去,另一种是自己写发送函数,根据发送标志位USART_GetFlagStatus进行判断是否发送完,完后直接向发送寄存器中写值,没有在中断函数中进行发送处理。两者都需要对发送标志位进行判断,否则会出现数据没有发送完成,寄存器又被重新赋值的情况。 而对于串口接收,在接收中断中接收到数据后需要关闭中断,否则会一直停留在中断中。 串口接收和串口发送都可以开启DMA中断,这样少占用CPU时间,一般的串口中断是一个字节一个字节的接收,可改为串口空闲中断,这样就可以一帧数据过来才中断一次。后续用到DMA在进行补充~ |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1767 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1069 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
726浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 17:59 , Processed in 0.906542 second(s), Total 76, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号