为了实现上位机PC和下位机MCU之间的通信,可以采用UART、USB、Ethernet等多种通信方式,其中UART是最简单的一种通信方式。
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器,接收双方有各自的时钟)可实现异步串行通信功能。有时还将UART称为SCI(Serial Communication Interface,串行通信接口),简称串口。UART通信一般需要三根线:发送线TxD、接收线RxD和地线GND。由于MCU的UART引脚使用TTL(transistor-transistor logic gate )高低电平信号表达数字逻辑”1″和“0”,因此需要地线GND。现在的PC上的串口(RS232串口)接口一般都消失了,不过可以通过TTL-USB转换器在PC端通过USB接口实现基于串口协议的通信。
串口通信的波特率(bit/s)有1200,1800,2400,4800,9600,19200,38400等待。随着波特率的提高,位长(位的持续时间,及波特率的倒数)变小,导致通信易受电磁干扰,降低长距离通信的可靠性。
KEA128芯片中有三个UART模块,分别是UART0、UART1和UART2。一般在编程实现时,发送方主动控制着数据的发送,因此发送不必采用中断方式,而接收是被动任务,因此为了确保及时接收到对方发送过来的每帧数据,UART接收一般采用中断方式。
在开发过程中,有一个启动文件名为”startup_SKEAZ1284.S”,在该文件中,通过一个数组定义中断源的中断向量编号序列,在编译时,由链接文件将这个数组加载到中断向量表的位置。如我们使用UART2这个串口,就需要通过实现”UART2_IRQHandler”函数实现相应的接收和发送功能(可以理解为类似接口实现的编程方法)。
编写好程序后按照前面文章中所描述的,将编译好的hex文件下载到板子上,然后将USB-TTL的连线接到板子上对应的串口,另一端USB接入到PC的USB端口。打开PC端串口调试软件,选择对应的串口号和对应的波特率等配置,打开串口,即可在上面的窗口中显示对应的从MCU端发送的字符串内容。

References
Leave a Reply