本实验使用STM32CubeMX软件进行元器件的初始化
分析电路图可知:接收数据线对应的管脚为PB2,发送数据线对应的管脚为PG11
打开CubeMX软件后,在芯片中找到PB2和PG11管脚,鼠标左键选中后选择UART4_RX和UART4_TX模式
在左侧的A-Z下拉菜单中找到UART4后点击进入,勾选M4使uart以M4核驱动,通信模式改为异步。CubeMX软件中的配置完成。
以kile方式导出工程文件,并编写代码
1、uart.c——fputc函数的重写
/* USER CODE BEGIN 0 */
int fputc(int ch,FILE* stream)
{
//判断发送寄存器是否为空
while(!(huart4.Instance->ISR & (0x1 << 7)));
//将要发送的数据放入发送寄存器中
huart4.Instance->TDR = ch;
//判断是否为'\n'
if(ch == '\n')
{
//判断发送寄存器是否为空
while(!(huart4.Instance->ISR & (0x1 << 7)));
huart4.Instance->TDR = '\r';
}
return ch;
}
/* USER CODE END 0 */
2、main.c
/* USER CODE BEGIN 2 */
printf("uart4 test!!!!!\n");
/* USER CODE END 2 */
在仿真中运行代码即可在串口工具中看到uart4 test!!!!!的提示字样