下一步使能串口,在左侧的 Connectivity中选择USART1(如果在这个之前你没有选择串口的GPIO引脚那个系统会自己帮你选择最优的引脚)使能好了引脚会变成绿色,然后再在下面进行配置波特率,就可以生成代码了
在生成代码的时候
1.命名
2.选择编译器Toolchain/IDE:MDK_ARM
3.去 Code Generator:勾选上Generate peripheral initialization as a pair of '.c/.h' files per peripheral
下面就到了业务代码编写的环节
1.以阻塞的方式进行(成对存在)
2.以中断的方式进行(成对存在)
3.以DMA(直接存储器访问)的方式进行:就是我不需要CPU的处理,我直接进行数据的翻译
我电脑直接将串口的数据发给单片机通过DMA将数据放在定义的数组里面
,
在主函数的循环中写HAL_UART_Transmit(&huart1,temp,5,50 );
它是用来在STM32 HAL库(Hardware Abstraction Layer,硬件抽象层)中发送UART(通用异步收发器)数据的函数调用。这个函数的各个部分:
1.HAL_UART_Transmit(:这部分表示你正在调用HAL库中的UART传输函数。
2.&huart1:这是一个UART_HandleTypeDef类型的结构体指针,它包含了UART1的配置和状态信息。通过&huart1,函数知道要使用哪个UART端口来进行数据传输。这个参数定义在写在usart.c文件里面
3.temp:这是一个指向要发送数据的缓冲区的指针。在这个函数中,temp 应该是一个uint8_t类型的数组或缓冲区,包含了你想要发送的数据。这个参数需要你自己在函数中定义,并且写出你想要通过串口发出的东西,uint8_t temp[]="kuangyuxin";
4.5:这表示要发送的数据的字节数。在这个例子中,它告诉函数从 temp 缓冲区中发送5个字节的数据。
5.50:这是函数的超时参数,表示在等待UART发送操作完成时的最大等待时间。如果发送操作在50毫秒内没有完成,函数可能会超时并返回一个错误。
这个函数调用的目的是将 temp 缓冲区中的5个字节的数据通过UART1发送出去,并且等待最多50毫秒,以便发送完成。在这个函数被调用后,UART1将会传输 temp 缓冲区中的数据。