stm32101c8 不能软仿真

本文介绍使用MDK5.1进行STM32101C8软仿真时遇到的访问权限错误及解决方案。通过调整调试参数,可以解决特定地址的访问问题。但若出现新的错误提示,还需检查代码逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1、工具:MDK5.1

2、器件:STM32101C8

3、软仿真报如下错误:

*** error 65: access violation at 0x40021000 : no 'read' permission


4、解决办法,点击魔法按钮,然后进入DEBUG标签项,更改黄色圈住的地方。


Dialog DLL更改为如上所示,然后Parameter更改为自己所使用的器件的型号。





注:上述的这个解决办法不是通用的,解决了上面这个问题后,我在代码里又增加了定时器(TIM3)中断的处理,然后仿真时

       又出现同样的问题,但是这次是因为在TIM3中断处理函数里,是清的的TIM5中断的标志位,所以出现上面的error后,上

       面说的不是通用的解决办法。很有可能是你哪里没有配置正确。


### STM32F103C8 Proteus 课设仿真教程及配置方法 在使用Proteus对STM32F103C8进行课程设计仿真的过程中,需要完成以下几项关键步骤:元件添加、电路连接、供电网络配置、HEX文件烧录以及晶振频率设置。以下是详细的配置方法: #### 1. 添加所需元件 在Proteus中,首先需要添加所需的元件。点击“P”按钮,搜索单片机型号`STM32F103C8`、LED灯、电阻等元件,并将其放置到仿真图中[^2]。 #### 2. 按程序接线 根据实际的程序逻辑,正确连接电路。例如,如果程序中使用的是`PB0`和`PB8`引脚控制LED灯,则需要将LED灯和限流电阻连接到对应的引脚上。同时,确保电源和地线连接正确[^2]。 #### 3. 配置供电网络 如果没有配置Proteus中的供电网络,请先进行配置。选择菜单栏中的`Design --> Config Power Rails`,将供电网络配置为如下所示[^2]: - `VDD` 连接到 `+5V` - `VSS` 连接到 `GND` #### 4. 烧录HEX文件并设置单片机晶振 双击仿真图中的单片机,进入配置界面。在`Program File`选项中选择由Keil生成的HEX文件,并将`OSC Frequency`设置为`8M`(即STM32F103C8的晶振频率)。不同的单片机可能有不同的晶振频率,请根据具体型号进行调整。 #### 5. 解决常见问题 在仿真过程中可能会遇到一些问题,例如LED灯不亮或串口无输出。以下是一些常见的解决办法: - **LED灯不亮**:检查电路连接是否正确,尤其是引脚编号和电源连接[^1]。 - **串口无输出**:如果需要通过串口发送浮点数数据,可以手动构造一个串口打印函数,如以下代码示例所示[^3]: ```c void PrintFloat(float value) { int tmp, tmp1, tmp2, tmp3, tmp4; tmp = (int)value; tmp1 = abs((int)((value - tmp) * 10) % 10); tmp2 = abs((int)((value - tmp) * 100) % 10); tmp3 = abs((int)((value - tmp) * 1000) % 10); tmp4 = abs((int)((value - tmp) * 10000) % 10); printf("%d.%d%d%d%d", tmp, tmp1, tmp2, tmp3, tmp4); } ``` 通过以上步骤,可以顺利完成STM32F103C8在Proteus中的课程设计仿真。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值