完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,我的芯片是18F46K22,使用XC8编译器。我有在RB1上连接的Push按钮,数字输入。在RB0上没有连接任何东西,配置成数字输出。我的一些代码没有执行,其中我有以下代码:令人惊讶的是如果我注释掉了下面的行,那么第二个if()当它的条件是真的时,它也会执行。这就是我如何初始化Purb。我想知道我在做什么错误?非常感谢你的帮助。
|
|
相关推荐
16个回答
|
|
|
为什么你不能发布完整的代码?
|
|
|
|
|
|
论坛上没有上传代码?错误:你没有被授权…
|
|
|
|
|
|
你检查过两个I/O引脚之间的连接了吗?(也许是无意的?).
|
|
|
|
|
|
哦,是的,我完全忘记了。谢谢。你是怎么看的?
|
|
|
|
|
|
哦,是的,我完全忘记了。谢谢。你是怎么看的?50年的经验有时会派上用场…
|
|
|
|
|
|
当TRISx被设置为输入时,尝试if...elseNo point设置LATx。使用Change Notify可以获得更好的结果。当输入与上一个输入不同时,将触发一个中断。(按下、向上、双击等)
|
|
|
|
|
|
问题解决了吗?如果没有,你从来没有提到在输入引脚上有一个上拉电阻,你有一个吗?
|
|
|
|
|
|
是的,它被解决了…然后我就睡着了,I/O都是错误地连接在黑板上的。
|
|
|
|
|
|
虽然这个问题已经解决了,但是上面的方法“改变通知”是很有趣的事情,你能解释一下如何使用吗?与简单的轮询相比,轮询的一个好处是,如果我直接将一个像机械输入一样的Push按钮连接到引脚,并以100毫秒(超级循环时间)轮询它,那么它会自动处理机械按钮中的振铃问题。如果我使用中断,那么如果我没有错的话,多个中断会连续发生。然后我必须在代码中修复它,或者在板上添加额外的组件来过滤它。你有什么建议?
|
|
|
|
|
|
如果“Change Notify”指的是使用I/O端口的“在更改时中断”特性,那么我将恭敬地表示不同意,这并不是检测按钮的简单方法,因为正是您声明的原因,在输入上反弹。在大多数情况下,由计时器触发的周期轮询相当容易。
|
|
|
|
|
|
你不同意所有的事情。使用CN会在开关状态改变时引起中断。你可以使用100NF上限。在反弹跳开关上,这些CPU上的插脚是Schmitt Trigger,为什么要使用计时器?你还在轮询。
|
|
|
|
|
|
因为它允许您对软件进行清拆。使用定时器进行轮询可以给出一致的轮询周期,而不管PIC有多忙。
|
|
|
|
|
|
很难,但在这种情况下是的。正如你将看到(查克其他帖子),我不是唯一在我对这个问题的看法。不要对意见分歧、不同观点和解决问题的不同方法感到冒犯,这能引导我们取得更好的结果。教育是一个持续的过程。我一直在论坛上学习新事物,因为有人“不同意”。
|
|
|
|
|
|
+ 1。
|
|
|
|
|
|
+ 1。我使用CN中断。从来没有任何弹跳问题。一个100NF帽。从0v到开关输出到mpu端口输入。mpu端口具有其余的电子器件。与开关和旋转编码器一起工作。
|
|
|
|
|
|
有什么旅行吗?最后一集:《发现》几乎让我泪流满面。企业NCC1701、Pike上尉和原乐谱。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
485 浏览 0 评论
5806 浏览 9 评论
2346 浏览 8 评论
2234 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3540 浏览 3 评论
1145浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1114浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
883浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
488浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 09:48 , Processed in 1.034064 second(s), Total 102, Slave 85 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4302