stm32端口输出硬件仿真时无输出(已解决)

2020-01-02 19:38发布

本帖最后由 coleyao 于 2019-8-28 20:38 编辑

   有两个stm32F103项目文件,设置一样,都是PB3、PB4用于输出,奇怪的是一个项目硬件仿真正常,另一个仿真PB3、PB4无输出,无输出的这个项目,在寄存器界面可以看到,输出寄存器改了,输入寄存器值没有变化,想请教一下,为啥会出现这种情况,我的硬件和软件环境都是无差异的,只是换个项目,而且PB3和PB4端口的设置已经对比过,都是设置的一样的模式,端口对应的时钟已经开启。
   (已解决,对于M3芯片应该是需要禁用JTAG功能才能将PB3、PB4用于输入输出,两个项目存在差异的原因是其中一个在其它地方用到PA15端口,在PA15初始化的地方将JTAG禁用了!)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lzg1987
1楼-- · 2020-01-02 19:42
debug仿真器选项里看看是不是没选对。
coleyao
2楼-- · 2020-01-02 23:49
 精彩回答 2  元偷偷看……
styleno1
3楼-- · 2020-01-03 01:40
仿真时看下AFIO_MAPR的Bits 26:24(SWJ_CFG[2:0]),看现象是SWJ设置不正确。
coleyao
4楼-- · 2020-01-03 07:39
styleno1 发表于 2019-8-28 18:35
仿真时看下AFIO_MAPR的Bits 26:24(SWJ_CFG[2:0]),看现象是SWJ设置不正确。

       非常感谢,年纪大了记性太差,之前用到PA15的时候这个问题碰到过,网上找到解决方案了,不过印象不深,谁知道这次碰到几乎一样的问题又差点抓瞎了!  这个问题我的理解是对于M3芯片来说JTAG端口因为要保证能正常调试,因此具有默认的优先权限,如果需要设成输入输出模式,需要禁用JTAG功能,M4貌似有更好的解决办法,不再需要禁用J'TAG功能了!

一周热门 更多>