ST NUCLEO-C031C6开发板学习笔记02(串口打印输出)
<div class='showpostmsg'>## ==5:串口通讯==### 5.1:串口通讯硬件配置
先看下芯片手册,芯片自带2组串口,串口1和串口2 我们使用其中一组来做测试。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20240204102235713.png)
我们使用PA9和PA10分别做串口的TX脚和RX脚。原理图的位置如下:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20240204102313970.png)
### 5.2:串口通讯软件配置
首先在CubeMX上配置串口引脚和工作模式。其次是串口通讯参数配置,默认波特率为115200:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20240204102417992.png)
时钟默认为48M,为单片机最大主频:
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20240204095947863.png)
我们使用的是串口2 ,使用printf打印时,得重新配置的一下程序,单片机输出。
```C
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 2);
return ch;
}
```
### 5.3:串口通讯单元测试
编写测试代码:
```C
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(500);
printf("123456");
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
}
```
打开串口调试助手,查看串口信息,可以看出不断输出“123456”字符串。
!(https://boreyun.oss-cn-shanghai.aliyuncs.com/image-20240204104326056.png)</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>通过串口助手看串口通讯单元测试是正常的</p>
<p>非常感谢分享</p>
页:
[1]