TMS320C3x DSP和PC机的异步串行通信设计
传输时,发送双方应按照共同遵循的协议进行初始化。通信协议采用起止式异步通信协议,下面分别是DSP对MC6850和上层PC机软件对串行口初始化操作的源程序代码。
4.1 MC6850异步串口通信程序设计
加电之后,6850处于闭锁状态,以避免输出错误的发送。使用前,必须通过程序将控制寄存器的CR0和CR1置“1”,以进行主复位,使其从闭锁状态释放。然后就可以对控制寄存器编程,以确定6850的时钟分频、数据格式和发送与接收控制功能等。以下是在Code Composer集成开发环境下,用C语言实现对6850的初始化设置和发送数据程序。本文引用地址:https://www.eepw.com.cn/article/152189.htm
4.2 PC机通信程序设计
在VC++6.0环境下,利用PC机进行串口通信的常用方法有两种:(1)调用Windows API(Application Program Interface)函数;(2)使用ActiveX的MSComm控件。第一种方法需声明及调用许多API函数,十分烦琐。故本文采用第二种方法。
PC机通信的具体实现过程如下:
第一步,启动VC++6.0,新建一个基于对话框的应用程序TxRx。
第二步,在对话框中插入串口控件,增加新的静态文本、编辑框和按钮控件,并为它们添加相应的变量。其属性如下:
第三步,在TxRxDlg.cpp文件中添加有关程序代码。
首先,在文件头第一条注释行中加入全局变量说明。
其次,需要初始化串口参数,在OnInitiDialog()函数中TODO语句后加入以下代码:
//先预读缓冲区以清除残留数据
评论