你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8S103/003, PC3的输入会影响到PB4,为什么?这是芯片Bug吗?

[复制链接]
ericxia 提问时间:2018-4-9 10:15 /
最近调一块STM8S103/STM8S003的板子,将PB4和PC3都设为输入,并且都使用了中断,于是发现了一个奇怪的现象: 当PC3上有脉冲输入,而PB4上一直拉高没有输入的情况下,PB4的中断竟然被触发。
一开始以为是板子的问题,因为这两个脚相邻,以为是这两个脚发生连焊,但检查修复了几次,确定没有连焊,后还是有这个现象。换了几块板还是一样。
如果停止PC3上的输入,PB4上的中断也没有了。
PC3是设的是上升沿中断,PB4设的是下降沿中断。
不知道大家有没有遇到过这类奇怪现象。
可以确定不是板的焊接问题。因为换了几块板,修复洗刷了好多资,都是一样的现象。只要一停止PC3的脉冲输入,PB4上就没有中断触发。
PB4自己有低输入时触发自己的中断很正常,软件代码上也没有问题。
请求大家帮助。

收藏 评论10 发布时间:2018-4-9 10:15

举报

10个回答
ericxia 回答时间:2018-4-9 10:19:27
有知道原因和解决办法的请和我联系: xiahuatao@126.com,非常感谢!
ericxia 回答时间:2018-4-9 11:18:17
补充说一下这个问题:当给PC3脉冲输入时,在PB4上用示波器抓波形,从没有出现过任何保号波动,这足以说明不是我电路板原因而影响的PB4。PB4的输入应该是在芯片内部产生的。
七哥 回答时间:2018-4-9 11:21:10
具体用的STM8S103/STM8S003的哪个型号?
发个原理图和程序来看看,可以把你程序中不想透露的东西删除,只保留最基本测试程序。
看看我的没有这个片子,有的话给你测试一下。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

ericxia 回答时间:2018-4-9 11:38:11
toofree 发表于 2018-4-9 11:21
具体用的STM8S103/STM8S003的哪个型号?
发个原理图和程序来看看,可以把你程序中不想透露的东西删除,只保 ...

STM8S003F3P6,程序正在去,弄成最简模式。
ericxia 回答时间:2018-4-9 11:44:24
toofree 发表于 2018-4-9 11:21
具体用的STM8S103/STM8S003的哪个型号?
发个原理图和程序来看看,可以把你程序中不想透露的东西删除,只保 ...

原理图如下:
STM8S003F3P6.png

PC6,7会被配置成TIM1的时钟输出,PC3的信号输入实际来源于PC6,7。
ericxia 回答时间:2018-4-9 11:54:07

补充一下,PB4的上拉电阻R16用的是10K的。
ericxia 回答时间:2018-4-9 11:58:38

刚才做了一下实验,如果将两个二极管D2,D3去掉,阻断PC6,7对PC3的输入,PB4就正常了。 PB4自己的输入中断可以正常工作。
feixiang20 回答时间:2018-4-10 01:10:51
那你修改D2D3的数值来看看,一般来说要想控制LED,只能通过外部上拉。PB4、5是OD口,不能驱动高电流,需要外部上拉。要么去看看STM8S003F3调试跳坑记录之类的帖子再参考下

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

robter 回答时间:2018-4-11 21:09:10
这个没遇到
七哥 回答时间:2018-4-12 00:35:44
本帖最后由 toofree 于 2018-4-12 01:00 编辑

经测试,没有发现你说的现象,我用的是STM8S103F3P6。
PB4下降沿中断,加20K上拉电阻;PB5做指示灯;PC3上升沿中断,内部弱上拉输入。
PC3无论是接3.3V,还是GND,都在只从GND断开的时候会进PC3的中断,始终都不会进PB4中断,在两个中断程序函数中用断点卡的。

STM8S_StdPeriph_Template_INT_S103F3P6.rar (34.8 KB, 下载次数: 4)

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版