多功能电脑时钟串口通信实验总结
1、是单片机开发还是嵌入式Linux开发串口都是最常用到的外设通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序还有很多的模块,比如蓝牙、GPS、GPRS等都使用的串口来与主控进行通信的。嵌入式Linux中一般使用串口作为控制台,所以掌握串口是必备的技能。
2、I.MX6U串口简介
串口全称叫做串行接口,通常也叫做COM接口,串行接口指的是数据一个一个的顺序传输,通信线路简单。使用两条线即可实现双向通信,一条用于发送,一条用于接收。
UART作为串口的一种,其工作原理也是将数据一位一位的进行传输,发送和接收各用一条线,因此通过UART接口与外界相连最少只需要三条线:TXD(发送)、RXD(接收)和GND(地线)。
UART一般的接口电平有TTL和RS-232,一般开发板上都有TXD和RXD这样的引脚,这些引脚低电平表示逻辑0,高电平表示逻辑1,这个就是TTL电平。
printf输出格式用串口助手显示I.MX6UALPHA开发板就使用CH340芯片来完成UART1和电脑之间的连接,只需要一条USB线即可。
1、设置UART1的时钟源
设置UART的时钟源为pll3_80m,设置寄存器CCM_CSCDR1的UART_CLK_SEL位为0即可。
2、初始化UART1
初始化UART1所使用IO,设置UART1的寄存器UART1_UCR1-UART1_UCR3,设置内容包括波特率,奇偶校验、停止位、数据位等等。
4、使能UART1
UART1初始化完成以后就可以使能UART1了,设置寄存器UART1_UCR1的位UARTEN为1。
5、编写UART1数据收发函数
编写两个函数用于UART1的数据收发操作。uart裸板实现了基本的putc getc puts等函数,stdio在此基础上进行了映射封装。
发板上也可以使用此方法,将printf和scanf映射到串口上,这样就可以使用SecureCRT作为开发板的终端,完成与开发板的交互。