寄存器版本 串口实验 数据发送到上位机问题

2019-08-17 04:54发布



新手学习到 串口实验 ,寄存器版的这个实验有个不明白的地方,下面这段代码是寄存器版本的串口实验截取的:
                        for(t=0;t<len;t++)
                        {
                                USART1->DR=USART_RX_BUF[t];
                                while((USART1->SR&0X40)==0);//等待发送结束
                        }


这个        USART1->DR=USART_RX_BUF[t]; 应该是把需要发送的数据装载到数据寄存器,但是程序是如何把这个数据发送到上位机的(库函数版本里面
这个地方是一个数据发送函数),是和 void uart_init(u32 pclk2,u32 bound) 函数里面的初始化配置有关系?如果是调用函数完成
的,那么寄存器版本的串口实验是在哪里调用的?按库函数版本里面的发送函数来看,是使能了发送使能标志位,数据只是装载到USART1->DR就完成了,
感觉是外设USART1自动完成的!

      由于是基础知识,烦请正点原子技术  帮忙 解释一下,谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
lvkanger
1楼-- · 2019-08-17 06:04
是自动完成发送的!
xuyaqi
2楼-- · 2019-08-17 07:23
你把要发送的数放入USART1->DR,下来硬件会帮你把数通过串口线发出去。
xuyaqi
3楼-- · 2019-08-17 10:00
你把要发送的数放入USART1->DR,下来硬件会帮你把数通过串口线发出去。
xuyaqi
4楼-- · 2019-08-17 12:50
你把要发送的数放入USART1->DR,下来硬件会帮你把数通过串口线发出去。
hefang119110
5楼-- · 2019-08-17 14:14
 精彩回答 2  元偷偷看……

一周热门 更多>