通过串口通讯协议、拖拽积木、Python、C+STM32多种编程方式实现USART串口通讯控制。

USART串口模块在开发板的位置图

通过位置图,你可以快速找到USART串口在开发板的位置。

USART串口模块的串口通讯协议

通过串口调试工具发送串口通讯协议实现USART串口通讯。

参数数据类型可用值参数说明
channelint2、3、6、7通道ID
rateint9600、115200波特率
datastring要发送的数据
// 示例:设置USART通道2的波特率为115200
{"type":"uart-rate","channel":2,"rate":115200}
// 示例:向USART通道2的外围设备发送字符串数据"Hello!"
{"type":"uart-write","channel":2,"data":"Hello!"}
// 示例:向USART通道2的外围设备发送整数数据"123456"
{"type":"uart-write","channel":2,"data":123456}
// 示例:向USART通道2的外围设备发送数字数据"12.3456"
{"type":"uart-write","channel":2,"data":12.3456}
// 示例:读取USART通道2外围设备数据
{"type":"uart-read","channel":2}
// 读取后会通过开发板USB虚拟串口输出,格式如下:
{"type":"uart-read","channel":2,"data":"data"}

USART串口模块的拖拽积木

通过拖拽积木调用Python API函数接口实现USART串口通讯。

尚未开放,敬请期待

USART串口模块的Python API函数接口

通过Python语言调用Python API函数接口实现USART串口通讯。

参数数据类型可用值参数说明
channelint2、3、6、7通道ID
rateint9600、115200波特率
datastring要发送的数据
// Python API函数 设置USART波特率
robot.board.module.uart.set_uart_rate(channel, rate).send()
// 示例:设置USART通道2的波特率为115200
robot.board.module.uart.set_uart_rate(2, 115200).send()
// Python API函数 向USART写入数据
robot.board.module.uart.set_uart_data(channel, data).send()
// 示例:向USART通道2的外围设备发送字符串数据"Hello!"
robot.board.module.uart.set_uart_data(2, "Hello!").send()
// 示例:向USART通道2的外围设备发送整数数据"123456"
robot.board.module.uart.set_uart_data(2, 123456).send()
// 示例:向USART通道2的外围设备发送数字数据"12.3456"
robot.board.module.uart.set_uart_data(2, 12.3456).send()
// Python API函数 读取USART数据
robot.board.module.uart.get_uart_data(channel).send()
// 示例:读取USART通道2的外围设备数据
robot.board.module.uart.get_uart_data(2).send()
// 读取后可以通过下面的方法取出USART2读取到的数据:
robot.board.module.uart.read_data_2
// 读取后可以通过下面的方法取出USART3读取到的数据:
robot.board.module.uart.read_data_3
// 读取后可以通过下面的方法取出USART6读取到的数据:
robot.board.module.uart.read_data_6
// 读取后可以通过下面的方法取出USART7读取到的数据:
robot.board.module.uart.read_data_7
// 示例:监听USART数据监听事件
def uart_channel_{channel}_data_{data}_event(robot):
    // 当{channel}、{data}条件满足触发内部程序

USART串口模块的C+STM32函数接口

通过C语言调用开发板SDK函数接口实现USART串口通讯。

参数数据类型可用值参数说明
channelint2、3、6、7通道ID
rateint9600、115200波特率
dataformat要发送的数据
// C API函数 设置USART波特率
Uart_Rate(int channel, int rate)
// 示例:设置USART通道2的波特率为115200
Uart_Rate(2, 115200)
// C API函数 向USART通道写入数据
Uart_Write_Data(int channel, char *data, ...)
// 示例:向USART通道2外围写入数据 字符串
Uart_Write_Data(2, "%s", "Hello!");
// 示例:向USART通道2外围写入数据 整数
Uart_Write_Data(2, "%d", 123);
// 示例:向USART通道2外围写入数据 浮点数据
Uart_Write_Data(2, "%f", 123.00);
// C API函数 读取USART数据
UART{channel}_READ_DATA;
// 示例:读取USART通道2外围设备数据,字符串类型,并通过USB虚拟串口输出
Usb_Write_Data("%s\r\n", UART2_READ_DATA); 
// 清理UART2接收的数据,否则无法接收后续的数据 
UART2_STATUS = 0;
Uart_Clean_Data(UART2_READ_DATA);
// 示例:读取USART通道3外围设备数据,整数类型,并通过USB虚拟串口输出
Usb_Write_Data("%d\r\n", UART3_READ_DATA); 
// 清理UART3接收的数据,否则无法接收后续的数据 
UART3_STATUS = 0;
Uart_Clean_Data(UART3_READ_DATA);
// 示例:读取USART通道6外围设备数据,浮点类型,并通过USB虚拟串口输出
Usb_Write_Data("%f\r\n", UART6_READ_DATA); 
// 清理UART6接收的数据,否则无法接收后续的数据 
UART6_STATUS = 0;
Uart_Clean_Data(UART6_READ_DATA);