串口通信与Printf函数.doc

串口通信与Printf函数.doc

ID:59231098

大小:11.50 KB

页数:2页

时间:2020-09-09

串口通信与Printf函数.doc_第1页
串口通信与Printf函数.doc_第2页
资源描述:

《串口通信与Printf函数.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、串口向PC发送数据的过程以及Printf函数的作用串口发送数据的过程:在程序中,先给USART和GPIO的初始化结构体赋值,并通过初始化函数将相关寄存器进行初始化,,当然还有时钟的设置,复用引脚需要的相关设置等。当这些设置好以后说明USART模块已经做好了发送或接收数据的准备,具体的发送或接收还没有开始。我们把写好的程序通过预处理、编译、链接、汇编,生成机器码,被烧录进入程序存储区,然后处理器开始取指令并一条一条执行下去。也就是说,单片机会按照我们程序预定的设置设置好寄存器,当我们需要收发数据时,其实就是单片机把内存(变量)中的数据写入USART收发数据相关的数据寄存

2、器中,然后收发寄存器会把寄存器中的数据一位一位的向pc机发送(或者是把PC串口中传入的数据一位一位的接受并存入相关变量中,(或直接通过DMA方式))。Printf函数的作用以及实现:数据的发送依靠的是向数据寄存器中写入数据,这个过程在库函数编程中是通过相关函数,比如USART_SendData来实现的。下面附上该函数的定voidUSART_SendData(USART_TypeDef*USARTx,uint16_tData){/*Checktheparameters*/assert_param(IS_USART_ALL_PERIPH(USARTx));assert_p

3、aram(IS_USART_DATA(Data));/*TransmitData*/USARTx->DR=(Data&(uint16_t)0x01FF);}从该函数的定义中就可以看出,该函数的功能就是写数据寄存器(DR)。Printf是一个c语言标准库函数,或者更严谨一些,Printf是一个宏,在这个宏中调用了一个数据发送函数fputc。我们重写fputc这个函数,这样当我们调用Printf这个宏时,这个宏就会优先调用用户的函数,从而就实现了Printf的重映射。而Printf实现的作用就是“格式的”输出。其实发送数据依靠的最终仍然是fputc,或者说最终的USART

4、_SendData。我们也可以自己编写一个Printf函数,来实现格式控制。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。