搜索
bottom↓
回复: 8

飞思卡尔中断标志位为什么是写1,进行清零?

[复制链接]

出0入0汤圆

发表于 2013-1-31 14:37:22 | 显示全部楼层 |阅读模式
if(TFLG1_C0F == 1)
  {
    TFLG1_C0F = 1;
    TC0 = TCNT + 1250;         //设置输出比较时间为5ms
  }

TFLG1_C0F是中断来了就等于1。TFLG1_C0F = 1;这个是清除中断标志位,那么执行这个之后TFLG1_C0F是0还是1呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-1-31 15:04:30 | 显示全部楼层
如果是规格书写着的,写1清零,那就是0了。

出0入0汤圆

发表于 2013-1-31 20:47:44 | 显示全部楼层
写1清零

出0入0汤圆

 楼主| 发表于 2013-2-1 11:19:43 | 显示全部楼层
好别扭啊。。。谢谢大家

出0入0汤圆

发表于 2013-2-1 11:36:34 | 显示全部楼层
liujing8862770 发表于 2013-2-1 11:19
好别扭啊。。。谢谢大家

瞎猜的,是不是做ic的漏做了一级 施密特 或者多做了一级

出0入17汤圆

发表于 2013-2-1 11:49:36 | 显示全部楼层
wkman 发表于 2013-2-1 11:36
瞎猜的,是不是做ic的漏做了一级 施密特 或者多做了一级

应该是非门吧

出0入0汤圆

发表于 2013-2-1 12:07:58 | 显示全部楼层
如果中断是读清,那么调试时你会骂死做芯片的人的。

出350入477汤圆

发表于 2013-2-1 12:50:26 | 显示全部楼层
你清这个中断标志位的同时,还可能来其他中断,又把其他位变成1,
所以如果这个中断标志位可读可写,唯一正确的硬件设计方法就是写0不变写1清零。
如果让你的代码做读-改-写,肯定会随机的丢中断。
另一种风格是中断标志和清中断命令是两个寄存器,这样你就不会误解了。写1实际上表示对该中断位执行“清中断”操作,跟写内存完全不一样。

出0入0汤圆

 楼主| 发表于 2013-2-1 14:01:53 | 显示全部楼层
wkman 发表于 2013-2-1 11:36
瞎猜的,是不是做ic的漏做了一级 施密特 或者多做了一级

我已经想骂人了。。。这个太坑了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-3 15:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表