嵌入式串口调试

嵌入式串口调试,第1张

我刚做过一个串口的板子调试工作。我是这样做的。

调通一个串口指的是1.硬件调通。用示波器看指定的串口线有数据,并且电源线地线处于正常的电平。2.接口(软件)调通。写好接口软件程序。

具体是这样做的。

1.先写一个最贱单的通信程序。如果手里没有现成的事例可以就写一个程序可以使串口写数据的线1 0周期变化。这个就直接是端口 *** 作。你找一下板子的设计资料怎么设计的 相应用的端口是哪几个。进行一下简单的端口 *** 作,再用示波器看。看看有没有信号出来,如果有而且对应的线处于正确的电平,这样硬件就调通了。

2.写端口驱动程序.一般来说最基本的驱动接口程序包括3个.

(1)初始化程序.这个函数用来设置串口的数据率啊,控制信息之类的.这个要看你所使用的芯片的数据手册对照设计.

(2)读1个字节的数据.调用这个函数可以从串口缓冲区读出一个数据.从cpu datasheet里面可以找到串口读缓冲区的相关 *** 作。

(3)写一个字节的数据.

然后写好后,将板子和电脑联机,在电脑上打个一个叫 串口调试助手或者串口精灵的共具,可以很方便的读写电脑串口.连机进行调试,调用你自己写的读写接口将你想要发送的字节发到电脑上能正确接收且能正确接收电脑发送过去的程序.

这两大方面通了以后就可以交差的了.

超级终端就相当于一个远程登录的东东,它是通过串口线和你的PC相互通信的,所以你进入到他底就相当于进入开发板带的 *** 作系统了,在上面 *** 作就肯定是开发板 *** 作系统上的东西,不知道这么说你明白了没,和超级终端一样的还有minicom,他也具有超级终端的功能,只不过是Linux环境,而超级终端是在XP系统下的,希望能帮到你

串口的设置主要是设置struct termios结构体的各成员值,如下所示:

#include<termios.h>

struct termios

{

unsigned short c_iflag /* 输入模式标志 */

unsigned short c_oflag /* 输出模式标志 */

unsigned short c_cflag /* 控制模式标志 */

unsigned short c_lflag /* 本地模式标志 */

unsigned char c_line /* 线路规程 */

unsigned char c_cc[NCC]/* 控制特性 */

speed_t c_ispeed /* 输入速度 */

speed_t c_ospeed /* 输出速度 */

}

termios是在Posix规范中定义的标准接口,表示终端设备(包括虚拟终端、串口等)。因为串口是一种终端设备,所以通过终端编程接口对其进行配置和控制。因此在具体讨论串口相关编程之前,需要先了解一下终端的相关知识。

终端是指用户与计算机进行对话的接口,如键盘、显示器和串口设备等物理设备,X Window上的虚拟终端。类UNIX *** 作系统都有文本式虚拟终端,使用【Ctrl+Alt】+F1~F6键可以进入文本式虚拟终端,在X Window上可以打开几十个以上的图形式虚拟终端。类UNIX *** 作系统的虚拟终端有xterm、rxvt、zterm、eterm等,而Windows上有crt、putty等虚拟终端。

终端有三种工作模式,分别为规范模式(canonical mode)、非规范模式(non-canonical mode)和原始模式(raw mode)。

通过在termios结构的c_lflag中设置ICANNON标志来定义终端是以规范模式(设置ICANNON标志)还是以非规范模式(清除ICANNON标志)工作,默认情况为规范模式。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7830002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存