03-【K210】通用串口和高速串口

人生乱弹 2年前 (2024) admin
7 0

目录null01 串口通讯协议简介02 K210的串口类型(1)高速UART(2)通用UART03 通用UART测试例程04 高速串口测试例程05 效果测试
01 串口通讯协议简介
串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式, 电子工程师在调试设备时也经常使用该通讯方式输出调试信息。
在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;官方SDK库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定 通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。
02 K210的串口类型
(1)高速UART
高速 UART 为 UARTHS(UART0)

通信速率可达 5Mbps;
16 字节发送和接收 FIFO;
可编程式 THRE 中断;
不支持硬件流控制或其他调制解调器控制信号,或同步串行数据转换器。

(2)通用UART
通用UART为UART1、UART2 和UART3,支持异步通信(RS232和RS485和IRDA,通信速率可达到5Mbps。UART支持CTS和RTS 信号的硬件管理以及软件流控 (XON和XOFF)。3 个接口均可被DMA访问或者CPU直接访问
03 通用UART测试例程
#include "fpioa.h"
#include "sleep.h"
#include "uart.h"
#include <string.h>

// 硬件IO口,与原理图对应
#define PIN_UART_USB_RX (4)
#define PIN_UART_USB_TX (5)

/// @brief
/// @param
/// @return
int main(void)
{

// fpioa映射
fpioa_set_function(4, FUNC_UART1_RX);
fpioa_set_function(5, FUNC_UART1_TX);

uart_init(UART_DEVICE_1);
uart_config(UART_DEVICE_1,115200,UART_BITWIDTH_8BIT,UART_STOP_1,UART_PARITY_NONE);
char *myword = {"test word!!\n"};
uart_send_data(UART_DEVICE_1,myword,strlen(myword));

while(1)
{
msleep(1000);
uart_send_data(UART_DEVICE_1,myword,strlen(myword));

}
}

}

04 高速串口测试例程
#include "fpioa.h"
#include "sleep.h"
#include "uart.h"
#include <string.h>

/// @brief
/// @param
/// @return
int main(void)
{

// fpioa映射
fpioa_set_function(4, FUNC_UARTHS_RX);
fpioa_set_function(5, FUNC_UARTHS_TX);

uart_init(UART_DEVICE_1);
uart_config(UART_DEVICE_1,115200,UART_BITWIDTH_8BIT,UART_STOP_1,UART_PARITY_NONE);
char *myword = {"0000!!\n"};
uart_send_data(UART_DEVICE_1,myword,strlen(myword));

while(1)
{
msleep(1000);
uart_send_data(UART_DEVICE_1,myword,strlen(myword));

}

}

05 效果测试

文章来源

版权声明:admin 发表于 2024年3月21日 am4:05。
转载请注明:03-【K210】通用串口和高速串口 | 银库

相关文章

本站主题由 OneNav 一为主题强力驱动