完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!我是新的论坛,新的微控制器,和新到C。然而,我在几年前在当地的技术学院上了几门初级教程,在Visual Basic和Java上。我正在玩PIC18F14K22,做所有我能在网上找到的那些晦涩的教程,只是为了纯粹的享受。让我有点困惑,因为我的LED没有表现出我认为他们应该的方式。如果您需要知道的话,我有一个pickit 3和xc8编译器。RB4=0将输出设置为数字,但不是必需的,因为输出默认为数字,正确吗?然后发光二极管,LabbtiTE。RBX=1;或者LabbTest.LATBX=1;(LBx呢?)我现在正在编写的教程使用PORTBbits.RBx=1;我知道这个教程适用于简单的闪烁代码,但是不正确。对的?这是我从教程中编写的代码,配置问题是RB5闪烁的方式,我认为它应该,但RB4根本不打开。有人能帮我看看我做错了什么吗?我没看见。我的照片和配线是好的,因为我测试它与其他代码和RB4灯。谢谢和快乐超级碗星期日!
|
|
相关推荐
6个回答
|
|
“TRISB=0b11001111;”在一个指令中设置寄存器的所有8位,“TRISB bits.TRISB4=0;”和“TRISB bits.RB4=0;”做完全相同的事情,将TRISB寄存器中的#4位设置为0,这使得RB4成为输出。ANSIL控制输入缓冲区,而不是输出。它默认只模拟,这些是等价的。LATBX版本是首选。不,不要那样做!较老的PIC16设备没有LATx寄存器,所以PORTx是唯一的选择。如果有输出位,请始终使用匹配的LATx寄存器来设置它们。将输入留在模拟模式下,并将其写入PORTB而不是LATB的组合将导致问题。对于某些背景,搜索他的论坛涉及数以百计的“RMW”或“读-修改-写”问题。参见:http://www..hip.com/for./m478014.aspxhttp://www.mikroe.com/download/eng/./compilers/mikroc/pro/pic/help/rmw.htm。
|
|
|
|
代码中的实际问题出现在这里:“PORTBbits.RB5=0;”实际上做的是,它读取所有的PORTB,将值的位5改为0,然后重写整个8位端口。因为引脚处于模拟模式,所以所有引脚读为零,而不管它们的实际状态如何,所以位4被重写。n等于零,甚至在您将它设置为1之后。(即使它们不在模拟模式下,外部管脚仍然会从前一条指令的低位切换到高位,并且取决于PIC的时钟速度,您很可能会在它达到有效高电压之前读取它,因此它w.访问LATB而不是PORTB完全避开了这个问题,因为它读取的是内部锁存器的状态,而不是外部引脚。
|
|
|
|
我想起来了,RBx不是为三位一体而工作,而是使用TRISBx和拉特伯。
|
|
|
|
有些PIC头文件定义了额外的别名,有些没有。碰巧,pic18f14k22.h的确定义了:LATBbits。LB4%deity%知道为什么,它不定义LATBbits。RB4I应该在声明它们是等价之前进行双重检查。无论如何,我坚持重新确认LATxbits.LATx和TRISxbits.TRISx o。NY,因为它们总是被定义。
|
|
|
|
让我猛扑进来问:你觉得这个怎么样?或者理解硬件实现非常有帮助,通过数据表等熟悉寄存器功能。
|
|
|
|
我想知道这是不是一个排版,假设是RBx。比起LBX,我更喜欢RBx,它比TrISBX和LATBX的打字要少。;)
|
|
|
|
只有小组成员才能发言,加入小组>>
4814 浏览 9 评论
1823 浏览 8 评论
1743 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
2949 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2055 浏览 5 评论
452浏览 1评论
1107浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
355浏览 0评论
260浏览 0评论
LAN9252使用SQI通信,进行数字复位后读BYTE_TEST异常
1777浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 11:13 , Processed in 1.139786 second(s), Total 76, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号