发 帖  
原厂入驻New
[问答] 如何使用PIC16F84检测产生HCR04传感器的ECO?
139 PIC16F84 传感器
分享
您好,首先,我正在尝试使用一个简单的PIC16F84来检测产生HCR04传感器的ECO。但这是行不通的。这是密码。硬件没问题
0
2019-8-16 11:33:06   评论 分享淘帖 邀请回答
15个回答
这是相当无用的,你应该告诉我们你期望它做什么,它不做什么,它做什么。
2019-8-16 11:45:02 评论

举报

例如,当有一个中断改变RB4或RB5或RB6或RB7的值时,IbCONTITES.RBIF将是1?我的配置是:如果有中断(例如RB4上的变化)来证实,那么如果中断发生,led会以另一种方式闪烁,在100毫秒上,对吗?其他事情。我怎么能让主角不重复呢?谢谢。。。。。。
2019-8-16 12:00:09 评论

举报

当RB4到RB7输入中的一个或多个改变时,设置RBIF比特。您必须读取PORTB寄存器以清除更改(如果您希望看到另一个更改)。在启动代码中,我建议您清除RBIF标志。您不应该在main()函数的末尾有一个return语句,在XC8中,main()函数应该永远不返回。如果不希望它循环(只执行一次,或者由“c”变量控制),那么在main()函数的末尾放置.(1);语句,代码将永远停滞在那里(直到重置)。
2019-8-16 12:11:39 评论

举报

所有这些“0b”前缀。而且,通过在PORT引脚上一个接一个地写入,您将面临RMW效应的风险:因为PIC没有LATx寄存器,所以您需要一些影子变量……
2019-8-16 12:17:06 评论

举报

达里奥,我想你是说“因为你的照片没有LATX寄存器”。
2019-8-16 12:26:08 评论

举报

是的,谢谢-写得太快了
2019-8-16 12:36:05 评论

举报

不用担心,很好地捕捉到常数中缺失的0B。我认为最好不要直接使用数字,而是使用更长的字母名称,因为我认为它更容易阅读,有点自我记录。
2019-8-16 12:51:28 评论

举报

谢谢。但代码仍然不工作,我不知道你的意思是“”你能给我一个例子,我不明白。
2019-8-16 13:20:47 评论

举报

对不起,在最后一个代码中,最后一个错误的,它必须采取的路线:
2019-8-16 13:37:50 评论

举报

你有直接连接到RB2的LED吗?如果是这样,它可能会加载足够的引脚,以防止I/O端口的正确的读修改操作。RMW是CPU用来改变I/O管脚状态的方法,读取PORTx寄存器,改变值,然后将值写回PORTx寄存器。如果引脚上的负载阻止了cpu读取正确的值,那么当它写回时,它不会是你所期望的。我建议你在这个论坛上搜索RMW效果,以获得更多关于这个主题的信息。I/O引脚上的DC和AC负载都可能导致RMW效果。而且您的代码只对RBIF标志进行一次测试,如果在测试之后出现则看不到。
2019-8-16 13:55:31 评论

举报

谢谢,但是MPLABAB抛出了LATB. B2=1的错误,我必须使用什么命令?RbbBIT。RB2=1;它也是错误的。
2019-8-16 14:15:27 评论

举报

是的,如何使用影子寄存器或其他技巧来避免它。
2019-8-16 14:31:43 评论

举报

是的,正如Dario早些时候指出的,16f84没有LATx寄存器,所以您需要使用“影子寄存器”技术,许多例子已经在论坛上展示过。
2019-8-16 14:41:26 评论

举报

只有小组成员才能发言,加入小组>>

58个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

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