NO4+串口测试
时间:10-02
整理:3721RD
点击:
由于工作出差问题,有一段时间没发帖子了。正好今天下班早,赶紧拿出开发板,玩耍了一下,今天测试了一下串口。
STM32 芯片拥有多个 USART(Universal Synchronous Asynchronous Receiver and Transmitter) 外设用于串口通讯。STM32 的串口功能非常强大,它不仅支持最基本的通用串口同步、串口通信, 还有 LIN 总线功能( 局域互联网)、IRDA 功能( 红外通信)、 SmartCard 功能。 本章介绍最基本的也是最常用的功能,利用串口来输出调试信息,从而达到帮助我们调试程序的目的。另外, 它还具有UART(Universal Asynchronous Receiver and Transmitter) 外设,和 USART不同的是, UART 在 USART 基础上裁剪掉了同步通信的功能,只有异步通信。 同步通信中传输方和接收方使用同步时钟。我们平时用的串口通信基本都是 UART。USART 满足外部设备对工业标准 NRZ 异步串行数据格式的要求,并且使用了小数波特率发生器,可以提供多种波特率,使它的应用更加广泛。 USART 发送接收有三种基本方式,轮询、中断和 DMA。本次实验主要用的是中断的方法,下面言归正传,介绍实验内容。
1使用 STM32CubeMX 软件生成 USART 工程
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART6_UART_Init();
HAL_UART_Transmit_IT(&huart6,"串口测试",20);
while (1)
{
}
}
回调函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
HAL_UART_Transmit(&huart6,&aRxBuffer,1,0);
HAL_UART_Receive_IT(&huart6,&aRxBuffer,1);
}
3 测试结果
STM32 芯片拥有多个 USART(Universal Synchronous Asynchronous Receiver and Transmitter) 外设用于串口通讯。STM32 的串口功能非常强大,它不仅支持最基本的通用串口同步、串口通信, 还有 LIN 总线功能( 局域互联网)、IRDA 功能( 红外通信)、 SmartCard 功能。 本章介绍最基本的也是最常用的功能,利用串口来输出调试信息,从而达到帮助我们调试程序的目的。另外, 它还具有UART(Universal Asynchronous Receiver and Transmitter) 外设,和 USART不同的是, UART 在 USART 基础上裁剪掉了同步通信的功能,只有异步通信。 同步通信中传输方和接收方使用同步时钟。我们平时用的串口通信基本都是 UART。USART 满足外部设备对工业标准 NRZ 异步串行数据格式的要求,并且使用了小数波特率发生器,可以提供多种波特率,使它的应用更加广泛。 USART 发送接收有三种基本方式,轮询、中断和 DMA。本次实验主要用的是中断的方法,下面言归正传,介绍实验内容。
1使用 STM32CubeMX 软件生成 USART 工程

选择时钟

选择串口,这里选择的USART6

配置USART时钟,USART6是挂载在APB2上面的

配置串口和中断

配置串口的参数

使能串口中断

给串口IO命名

配置中断优先级就可以生成工程了
2修改主函数和回调函数
主函数
int main(void){
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART6_UART_Init();
HAL_UART_Transmit_IT(&huart6,"串口测试",20);
while (1)
{
}
}
回调函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
HAL_UART_Transmit(&huart6,&aRxBuffer,1,0);
HAL_UART_Receive_IT(&huart6,&aRxBuffer,1);
}
3 测试结果

串口测试结果
感觉STM32CubeMX和keil配合使用非常的方便快捷,建议大家使用。
不知小编开发出什么新的项目?
环境监测系统
看起来高达上 跟进学习
