嵌入式硬件通信串口启用流程
有波特率、数据位、校验位、停止位等,从demo的源码中也可以体现出来的。
完成了串口的初始化,即可对输入输出做相关操作,来验证串口是不是能够正常的发送和接收数据。
一般的,最直接的方式是向输出寄存器写入数据,就可以让芯片去完成输出到对应的引脚上。
验证串口的输出,即在串口初始化成功后,对串口的输出寄存器写入数据,而芯片引脚则使用USB转TTL模块连接,USB端插入计算机的USB口,利用计算机的串口助手软件实现对数据的收发。
开发调试过程中,输出的内容基本上就是想查看的变量值、代码的执行位置跟踪、算法或者某些运算的结果等等。这些输出,仅用于调试阶段,而在人机调试过程中,使用计算机的串口助手软件进行交互,则输出的数据应该便于识读和判断。
输出串口数据过程中,需要向寄存器逐字节传入数据的,而在传送之前必不可少的,就是将要发送的数据、字符放到同一个Buffer后,执行轮询的方式传送直到buffer内容全部被传送。
而这个“放”的过程同样是需要做些计算、判断,尤其是增加必要的字符来描述输出信息,保证信息的可识读。
在C标准库printf函数就有格式输出的功能,利用这个接口更便于调试输出这个过程。
完成以上3步,即可利用printf函数来格式化输出,还可以在串口上接收到。
有了上一步实现printf函数的重定向到串口后,基本就可以完美使用串口进行调试程序。
调试过程中可利用ANSIC标准中的内置宏,比如__LINE__可以很方便跟踪代码执行到哪一行。
DMA方式,各个芯片的配置不同而无法每款芯片都有该功能,所以代码兼容性可移植性较差。
一般地,对输入的数据来进行分析判断时,如果是轮询的方式,则直接在收到后即判断;中断和DMA方式,都可优先考虑存到buffer后再分析处理。
如果是简单几个字符的指令,可以用上述那样简单判断,但是在稍微中等级别的工程建设项目中,用那样的方式都已经很不便于处理和扩展了。
比如有一串数据,并且长度不确定,将会超过10个字节、20个字节、100个字节甚至更多,那么这时候就一定要使用协议解析的方式。
通常的,数据协议都会有协议头、长度、校验、数据内容等部分所组成,数据将以包的形式进行收发,这时候使用解析的方式,对数据包进行解析。
这些都属于开发的模块产品,对外使用串口通信,并且数据协议采样了“起始式”的帧结构模式。
最小系统的搭建。本章包括以下几个部分:1.1 简介1.2 实验任务1.3
开发环境及交叉编译环境,开发完成后,编译得到bin文件,然后在Windows下将bin文件通过
开发环境及交叉编译环境,开发完成后,编译得到bin文件,然后在Windows下将bin文件通过
关注、星标公众号,直达精彩内容来源:网络素材整理:李肖遥传送门: 总结了一份
的实现 /
设计 /
接口-SPI /
帧同步方法设计 /
#硬声创作季 #维修 (转)捡炸机无人机户外淋雨2个月,清洁电路板重新安装,能顺利启动么
上一篇:doris英文名涵义 doris英文名的意义