完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我试图用多个移位寄存器(6)来驱动15个RGB LEDS。如果我使用一个移位寄存器,代码工作正常,但是使用多个移位寄存器有困难。首先我检查电路,但是看起来不错,串行输出连接到por中的每个以前的串行数据。还有,时钟和锁存管脚也连接到下一个移位寄存器。有了阿德纽诺,我可以使它与多个移位寄存器一起工作,但是很难将代码更改为XC8编译器,所以这就是为什么我得出电路好的结论。我不知道在哪里停留。rt使多个移位寄存器工作,我真的不想要一个直接的答案,但如果有人有某种线索,我希望我能弄清楚。
|
|
相关推荐
11个回答
|
|
“价值”只是8B,但你要移动48次。这是个难题
|
|
|
|
只接受8位值。如果你想使用六个移位寄存器,你必须传递6*8位,就像一个6字节的数组。
|
|
|
|
此外,如果这个PIC有它们,你最好使用LATX寄存器…
|
|
|
|
此外,在使用掩码检查值之前,您正在移动。这将取决于方向而失去MSB或LSB。
|
|
|
|
这是可以的,因为第一个移位位置是0,所以没有一点丢失,但是,For()循环只有47次迭代。而且,方向是错误的,即MSB首先不是比特0。
|
|
|
|
这是可以的,因为第一个移位位置是0,所以没有一点丢失,但是,For()循环只有47次迭代。另外,方向是错误的,即MSB第一位不是0位。感谢帮助我的大脑褪色。
|
|
|
|
你的CPU有SPI端口吗?这可能比“敲击”移位寄存器更好。您应该能够将时钟、数据移位寄存器和锁存引脚连接到SPI的SCK、MOSI和SS线。
|
|
|
|
我用的是PIC16f628A,它没有SPI。我试着为每个移位寄存器创建一个数组,但不知道怎么做,我发现它比我想象的要难一些。有人能给我一个线索或样本吗?这是我唯一的难题,真的不知道该从哪里开始。
|
|
|
|
嗨,你不需要为每个移位寄存器设置一个数组,你需要为每个8位移位寄存器设置一个字节的数组。你可以这样做:可能有更紧凑的方法来编写代码,使用指针,在内存中移位,但是要注意一些代码方法可能会改变Val中的原始数据。UE[]数组。迈西尔
|
|
|
|
还有一点,即使代码中有很多长延迟,在切换DATA_595位,然后无延迟地设置CLK_595位之间也有可能出现RMW问题。如果运行程序时缺少位,那么在设置CLK之前,可能有助于重新排列具有延迟的时钟()函数。但是,由于代码执行,时钟结束和下一个数据位之间存在很大的延迟。迈西尔
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5166 浏览 9 评论
2000 浏览 8 评论
1929 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3175 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2227 浏览 5 评论
736浏览 1评论
619浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
507浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
633浏览 0评论
530浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:19 , Processed in 1.436206 second(s), Total 99, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号