项目简介利用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 worldn); while(1) { /* user code begin 3 */ } /* user code end 3 */}
高通与苹果同时在官网发布声明,宣布达成和解协议
中国电信政企“5个1”服务模式提升客户感知
旅游出行减点负,OPPOR11让你体验最舒适的拍照方式
线性可编程电源是如何工作?设计原理是什么?
开关电源变换器电压模式的工作原理及特点
STM32单片机学习笔记(3):虚拟串口
现代汽车第二代电动汽车平台采用SK On电池,价值高达万亿韩元
关于英特尔拯救制造企业消亡的分析介绍
改善传感器误操作的静噪对策
机器人行业标准制定 意图走出制造业局限
浅谈激光焊接工艺的技术
电解液价格将像曾经的锂盐一样一飞冲天?
购买优质网线需要考虑哪几个方面
国际首台机载激光三维强度关联遥感试验样机研制成功
电子连接器由什么组成
不忘初心重回音乐路,魅族或进军高端耳机市场
思特威与加速科技正式签署合作协议 华为发布5G专网PLUS系列
函数参数的分类有哪些
5G标准持续演进开展新形态应用
vivo新机外观曝光 外观酷似X9