lazyduck 发表于 2019-9-19 11:35:09

STM8S103F3P6在IAR环境下的问题

咨询一个问题,我现在用STM8S103F3P6开发一个东西,因为管脚数量有限,所以把PD1(也就是SWIM)这个管脚接到了红外接收器(VS1838)上。现在有一个问题,使用IAR(版本3.10.4),库函数的方式,同样的代码,在别的管脚上可以工作,在PD1上就是不行。有人提到说,需要关闭PD1的SWIM模式,这个我试过,不论关不关,都不起作用。

但是,使用寄存器的方式,PD1就能正常工作(不用关闭SWIM模式)。
所以,STM8 IAR的库函数开发是不是有隐患?

toofree 发表于 2019-9-19 15:28:53

这个肯定得把PD1切换成IO模式的,默认是SWIM模式。

lazyduck 发表于 2019-9-19 19:11:44

toofree 发表于 2019-9-19 15:28
这个肯定得把PD1切换成IO模式的,默认是SWIM模式。

没认真看我写的吧,关不关我都试了。而且在不关的情况下,寄存器操作也是没问题的

lazyduck 发表于 2019-9-22 21:11:06

自己顶一下

butterflyspring 发表于 2019-9-24 10:56:14

建议单步调试一下,看看寄存器状态就知道了。当然在DISABLE 前能看到,让后下一条指令就看不到了。这样就说明切换成功了。嵌入式开发需要看看底层的:)

lazyduck 发表于 2019-9-24 11:04:17

butterflyspring 发表于 2019-9-24 10:56
建议单步调试一下,看看寄存器状态就知道了。当然在DISABLE 前能看到,让后下一条指令就看不到了。这样就说 ...

兄弟,PD1脚,SWIM脚,怎么单步仿真?

lazyduck 发表于 2019-10-5 12:16:43

基本确定是IAR对库函数的支持不是很友好,使用其它方式解决了。这个帖子就这样吧。
页: [1]
查看完整版本: STM8S103F3P6在IAR环境下的问题