完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如图,第一张和第二张左边图片是一个程序,第二张右边是另一个程序,除了初始化之类函数,就那么短,USART_SendData()函数可以直接发送完,为什么要一位一位发送呢?(第二张右边是直接发送完)。 |
|
相关推荐
4个回答
|
|
1-只是演示的效果不同而已,毕竟这是例程代码,它想展示给你的是串口的收发应用。
2-左边的程序接收中断处理里加了简单的协议格式要求,收到满足要求的数据帧之后,再通过串口发送将缓冲数组一字节一字节的发出去。 3-第二张右边的图片,就是纯粹的收发,串口接收到的数据原封不动的再发出去。实际应用中,如果你有这种要求了也可以这样做,但是很少,更多的是接收到的数据中包含需要单片机进行处理的信息,等你处理结束了,再按照应答的格式(并非原封不变)数据帧通过串口发送再发走。 4-知道咋使用串口就行了,以后随着经验的增多就知道如何处理了。也不要死抠例程,例程的目的是教我们如果使用基本的外设功能。
最佳答案
|
|
|
|
第二张图的功能是收到什么就立即返回什么,你要一起发反而不行
|
|
|
|
建议你分析或跟踪一下程序执行过程,不管实现形式是什么样的,单片机底层都是以字节为单位顺序发送的,后面你还会遇到重定向Printf函数到串口的情况,个人认为你最好能把单片机串口发送的执行过程分析清楚,你就不会有上面的疑问了。
|
|
|
|
学习学习,下载看看
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1950 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1809 浏览 3 评论
4389 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1960 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2463 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 12:55 , Processed in 0.888616 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号