网站自动化采集,建设个电影网站多少钱,网页设计与制作课本,seo培训网的优点是我们在调试程序时#xff0c;经常会使用串口打印相关的调试信息#xff0c;但是单片机串口不能直接与 PC 端的 USB 接口通讯#xff0c;需要用到一个USB转串口的芯片来充当翻译的角色。我们使用的开发板上有这个芯片#xff0c;所以在打印调试信息的时候直接使用USB线连接开…我们在调试程序时经常会使用串口打印相关的调试信息但是单片机串口不能直接与 PC 端的 USB 接口通讯需要用到一个USB转串口的芯片来充当翻译的角色。我们使用的开发板上有这个芯片所以在打印调试信息的时候直接使用USB线连接开发板与电脑USB口就可以了这里的电路连接如下
USB转TTL与一键下载电路图 这里使用串口1作为调试串口需要使用跳线帽连接P7接口中的 TX与PA10RX与PA9
也实现了一键下载功能可以使用串口下载程序而无需手动配置BOOT
还可以通过板子上的USB转TLL调试其他设备只需将P7接口中的 TX连接其他设备TTL电平接口的RXRX连接其他设备TTL电平接口的TXGND连接其他设备的GND另外开发板还需要供电
还可以使用开发板上的USB转232功能调试其他232接口设备可以使用跳线帽连接P7接口中的 TX与TX232RX与RX232。然后找到开发板上的P12接口连接 TX与其他设备232接口的RXRX与其他设备232接口的TXGND与其他设备的GND另外再给开发板供电
注上述调试串口USB转TTL与USB转232功能同时只能使用一个通过P7接口进行配置。
USB转232接口电路图
接下来就是配置软件实现调试串口的功能这里不介绍串口只是实现调试串口方便后续程序调试对于串口的使用在后面会详细介绍
1.配置串口
我们在上节创建的HAL库工程模板的基础上通过 STM32CubeMX 来增加串口的配置代码。找到上节创建的项目文件双击打开 STM32CubeMX 工程文件
配置串口1 异步模式 波特率 1152008位数据位无奇偶校验1位停止位( 115200-8-N-1 )收发模式使能。这个波特率配置很常用另外 9600-8-N-1 也很常用 配置完成后点击 GENERATE CODE 生成代码
2.printf 函数重定向
printf 函数会调用 fputc 函数打印数据如果我们让fputc函数打印的数据直接输出到串口那调用printf函数时打印的数据就会通过串口发送出去。所以我们可以通过在fputc函数中调用串口发送函数来实现printf函数重定向
用 keil 打开刚才生成的代码首先我们勾选配置选项中的 Use MicroLIB
然后分别在 usart.h 与 usart.c 中添加如下代码
/* usart.h */
#include stdio.h/* usart.c */
int fputc(int _char, FILE *_stream)
{/* 串口阻塞发送函数 串口1 待发送数据 发送数据个数 发送超时时间*/HAL_UART_Transmit(huart1, (const uint8_t *)_char, 1, 1000);return _char;
}最后在 main.c 中就可以调用 printf 函数向串口打印调试信息。在 while(1) 循环中添加如下代码编译后可下载到单片机中测试
printf(Hello World!\r\n);
HAL_Delay(500);3.编译项目Project - Rebuild all target files并下载验证
使用一键下载功能时可以在项目文件目录下找到.hex文件通过USB转串口的方式下载到开发板。下载程序的软件可以在HAL库工程模板这一章节的最后找到百度网盘链接分享
下载完之后可以打开串口调试助手就能看到开发板打印的数据 “Hello World!”
注下载时选择 DTR的低电平复位RTS高电平进BootLoader 选项
我们后续的下载都是使用ST-Link下载可以直接在keil中下载或者调试比较方便。可按下图配置并下载Flash - Download
下载完之后打开串口调试助手就可以查看到打印的数据 上述我们是在开发板中进行实际验证的效果下面使用软件仿真
首先我们需要配置一下参数 然后再编译一下没有问题就可以进入仿真界面 按下图点击下拉三角形选择串口1就能在右下方看到多出了一个标签页 串口显示区域 点击运行然后观察上述串口显示区域就可以看到打印的数据 打印出的 “Hello World!”可以把此标签页从下方拖出来拉大一点更方便查看 以下是几个常用的工具栏按钮其他的等用到的时候再介绍