Proteus模拟STM32示例:简单的答录器

我帮助微信朋友调试了基于Proteus的应答程序。

自从我上次使用Proteus以来已经有五六年了。

当时,它仍然是一台模拟51单片机。

借此机会,让我们看一下,如果您使用Proteus模拟STM32,则此测试中实现的目标如下:使用Proteus构建模拟示意图使用STM32CubeMX创建STM32F103R6项目以添加printf输出重定向代码,是,添加了串行端口1的打印输出功能。

HAL库的按钮读取功能单击此按钮可以切换LED的状态。

推荐阅读:STM32单片机最小系统最小使用方法STM32F103串行端口使用方法的详细说明STM32中精确延迟功能的实现使用STM32F103C8T6最小系统板点亮自来水灯4行代码来实现LED使用STM32CubeMX获得CPU芯片温度。

安装Proteus 8.9 Pro。

安装过程相对简单。

默认值为下一步。

安装完成后,请记住先激活然后再运行该软件。

有关特定的激活方法,请参阅Crack文件夹中的激活说明。

注意:达到下图中的步骤时,请注意选择“自定义”:然后选择“安装路径”。

和“程序数据路径”与同一目录相同,否则很容易崩溃:创建一个项目,然后单击“新建项目”。

创建一个新的工程。

随意命名,例如Keil_STM32F103RT6,然后选择安装路径。

创建默认原理图。

无需创建PCB视图。

选择“无固件项目”,无需创建代码项目,我们将使用STM32CubeMX创建项目。

完成Proteus项目的创建。

原理图的完成如下。

双击主芯片并设置属性。

使用Proteus期间可能出现的问题使用Proteus进行仿真时,始终出现以下动画:0.00149(CPU负载70%),但没有结果吗?模拟电路仿真有点慢,您可以将电路中的电阻更改为数字。

双击电阻,在模型类型后面有一个下拉菜单,将模拟更改为数字。

如何更改原理图尺寸?选择系统->设置图纸尺寸。

如果遇到以下错误该怎么办?在电源导轨配置中未为净VSD指定电源。

在电源导轨配置中未为净VDDA指定电源。

在电源导轨配置中未为网络VSSA指定电源。

解决方案:步骤1:单击工具栏顶部的“设计”选项。

步骤2:点击“配置电源导轨”。

步骤3:选中“是否使用默认电源导轨连接?”在左下角,并配置“未连接的电源网”。

步骤4:点击确定。

使用Proteus调试串行端口时,您会遇到内置的虚拟终端无法弹出窗口的情况。

解决方案如下:终止仿真后,进入工具栏“调试”->“重置调试”弹出窗口,然后选择“是”。

在弹出窗口中。

再次运行Simulation,您会发现该窗口可以正常弹出。

STM32F103RT6对应的启动文件是什么? startup_stm32f10x_ld.s:用于STM32低密度设备ld:低密度产品,FLASH小于64K md:中密度产品,FLASH = 64或128 hd:高密度产品,FLASH大于128。

串行端口显示乱码。

晶体振荡器可能是错误的。

如何旋转元件放置方向?旋转:Ctrl + M,或:+或-选择组件后,依次按键盘上的Ctrl + M,组件将水平方向完成180°; “ +”号小键盘上的键可以使组件逆时针旋转90°。

“-”表示键盘上的按钮可使组件顺时针旋转90°。

STM32CubeMX创建项目使用STM32CubeMX创建一个主芯片为STM32F103R6的项目。

选择晶体振荡器作为外部高速时钟。

启用串行端口1.配置GPIO。

其中,PA6与BTN2连接; PA6与BTN2连接。

PB7与LED连接。

配置时钟树:配置项目设置并生成代码。

生成的Keil项目目录如下:添加串行端口1的重定向:/ * USER_CODE_BEGIN& n0& nbsp; * /#include& nbsp; stdio。

h”#ifdef& nbsp; __ GNUC __#define& nbsp; PUTCHAR_PROTOTYPE& nbsp; int& nbsp; __io_putchar(int& nbsp; ch)#else#define& nbsp; PUTCHAR_PROTOTYPE& nbsp; int& nbsp; fputc(int& nbsp; ch,& nbsp; FILE& nbsp; * f)#endifPUTCHAR_PRObsp&#; ; nbsp;& nbsp;& nbsp; //指定哪个串行端口可以将hubt1更改为其他串行端口,&

产品知识/行业、品牌资讯