打印
[STM8]

请问香版,C语言中STM8S判断PC某两位断口电平问题

[复制链接]
2174|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tieguanyin2008|  楼主 | 2010-9-11 09:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问香版,C语言中STM8S,PC0 PC1设置为输出,在中断程序中要判断PC0,PC1电平高低,之后再反转。我用if(GPIOC->ODR & 0x03)判断,很容易被其他中断打断导致错误,有没有好点的办法?

谢谢!
沙发
32446975| | 2010-9-11 10:36 | 只看该作者
在执行前关总中断,执行后开总中断.

使用特权

评论回复
板凳
香水城| | 2010-9-11 10:46 | 只看该作者
如果只看这句话:if(GPIOC->ODR & 0x03),它不会被其他中断打断,你肯定还有其它操作导致错误,请说详细一些。

使用特权

评论回复
地板
tieguanyin2008|  楼主 | 2010-9-11 11:20 | 只看该作者
本帖最后由 tieguanyin2008 于 2010-9-11 11:23 编辑

定时中断程序里:

if(GPIOC->ODR & 0x03)
{
GPIOC->ODR &= ~0x03;
}
else
{
GPIOC->ODR |= 0x03;
}

PC0 PC1出来的结果不一样。

使用特权

评论回复
5
香水城| | 2010-9-11 11:34 | 只看该作者
如果你在其它地方没有对PC端口的操作,那么中断肯定不会对这段程序产生影响。

使用特权

评论回复
6
火箭球迷| | 2010-9-11 16:18 | 只看该作者
检查一下你它地方的程序

使用特权

评论回复
7
yybj| | 2010-9-11 16:31 | 只看该作者
2楼的方法似乎不太可行,还得找出问题的原因

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

90

帖子

1

粉丝