| 项目简介 利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第三部分针对串口通信的一个实例,虚拟串口其实只是计算机以软件的方式模拟串口通信的功能,可以基本等同于实际的串口。本文主要用于对STM32串口通信的理解。 硬件模块 STM32F103R4 串口模块 软件工具 CubMX Proteus KEIL 电路连接图 STM32F103R4 ![]() 串口模块 ![]() 工作流程 首先是下载相应的虚拟串口,这里下载的是Virtual Serial Port Driver软件。 ![]() 安装好后,其使用期限是14天,后续超过这个期限重新安装即可。其使用方法也很简单,使用的时候点击“Add pair”即可,这里是已经Add了COM1和COM2之后的情况,需要注意的是用完这个虚拟串口之后记得点击“Delate All”否则会一直占用。 ![]() 然后创建CubMX工程,首先设置好串口 ![]() 在CubMX中配置好串口中断。 ![]() 然后就是在生成的KEIL工程里面编写相应的程序啦。这部分在“程序代码”标题中有。 最后就是在Proteus和串口调试助手上验证啦,验证结果如下图所示。 ![]() 程序代码 //重定向printf()到串口发送和接收,方便应用int fputc(int ch, FILE *f){ uint8_t temp[1] = {ch}; HAL_UART_Transmit(&huart1, temp, 1, 0xffff);return ch;}//重定向scanf()函数和getchar()函数,方便应用int fgetc(FILE * f){ uint8_t ch = 0; HAL_UART_Receive(&huart1,&ch, 1, 0xffff); return ch;}/** * @Brief The application entry point. * @retval int */int main(void){ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash inteRFace and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ printf("Hello World\n"); while(1) { /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */} 结语本文大部分内容都属于原创,如需转载,请附上本文网站, 如果需要相关的仿真图、程序代码等资料可以直接私信我,我会及时回复。 |
[经验]使用CubMX和Proteus学习STM32单片机(三)------虚拟串口
关键词: 使用 CubMX Proteus 学习 STM32
回复
| 有奖活动 | |
|---|---|
| 这个春节你犒赏自己什么了?分享你的故事,有奖征集 | |
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3XX】SWT 模块使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】32位linux内核内存映射896的理解被打赏¥14元 | |
| AG32VH407开发板例程体系的构成与使用方法被打赏¥20元 | |
| 【S32K3XX】SEMA42 模块使用被打赏¥26元 | |
| 【S32K3XX】XRDC 功能使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】8051使用keil编译的程序移动心得被打赏¥21元 | |
| 【S32K3XX】HSE 密钥管理被打赏¥17元 | |
| 【S32K3XX】Standby RAM的初始化流程被打赏¥18元 | |
| Gravity:中英文语音合成模块V2.0及其串口控制被打赏¥24元 | |
| 全彩色度变化图的绘制被打赏¥27元 | |







我要赚赏金
