打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】- 4:CLC 进阶未果求同试

[复制链接]
51314|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MianQi|  楼主 | 2021-7-3 16:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 MianQi 于 2021-7-3 16:18 编辑

CLC 进阶

参照教程 - TB3273 Getting Started with CLC on PIC18

先来看一下SR锁存器的真值表:

S和R端均为1是禁止地,但在PIC提供的资料中,这种情况下,输出为0。

试图复现上述教程的第三例:Using the CLC to Create an LED Dimming Effect
定时器的设置和教程有所不同,但实现了所要的“40.96ms”和“40.8ms”两个周期:












上载以后不见任何效果,试了多次都一样。
有可能是思维陷入了某种定式。
感兴趣的人不妨试一下这个示例,试验的结果拿出来讨论。

使用特权

评论回复
沙发
MianQi|  楼主 | 2021-7-5 09:52 | 只看该作者
最新进展:
刚才完成了最近的测试——逐段测试。
先将Timer的信号送至GPIO,看看定时器的信号生产没有。发现5个定时器中,只有Timer0能输出到GPIO:


将Timer0的信号送至RA5,在LED上看到了Blinking的效果,改变周期,Blinking的频率随之变化。
这里要注意的一点时,将Timer0的信号送至RA5可能需要再上传一次代码,否则RA5有可能表现为常亮,即便是将管脚对应的锁子打开的情况下。

接下来,将面包板上的跳线在RA5和RA4(接CLC1输出)之间切换,确保CLC1的输出连接是畅通地。
第三步,将Timer0和Timer1的信号单独送至CLC1的S和R端(每次接四路中的两路),在S端,看到了RA4常亮,在R端看到了RA4常灭。
但是,将Timer0和Timer1同时分别接到S和R端,却看不到Fading的效果,而是表现为常灭。

使用特权

评论回复
板凳
MianQi|  楼主 | 2021-7-5 09:54 | 只看该作者
本帖最后由 MianQi 于 2021-7-5 09:55 编辑

附带说一下,在实验的过程中试用了MPLAB新增的升级与融合功能:


Replace(替代)


Insert(插入)

使用特权

评论回复
地板
lcczg| | 2021-7-6 17:19 | 只看该作者
我做了一下实验,能够重复楼主所说的现象。
原因是MCC生成代码里面的一个BUG。在CLC产生的代码void CLC1_Initialize(void) 里gate4输入为 CLCnGLS3 = 0x40; 0x40相当于输入TMR4做了一次反。正确的应该为CLCnGLS3 = 0x80;


感谢您把问题提出来。后面我们会做修正,谢谢

使用特权

评论回复
5
MianQi|  楼主 | 2021-7-8 18:13 | 只看该作者
我测试了一下,的确是这样,需要补充两点:
1、这是针对CLC的SR-Latch配置,而不是CLC1,因为换成CLC2还是一样。
2、这个教程 -[size=30.0784px]TB3273[size=20.6789px] Getting Started with CLC on PIC18- 里的这个数据本身就是个ERROR:

24Hz对应的周期不是大约4毫秒,而是大约40毫秒。

接下来的三段视频分别是:
1、
Timer0:周期 40.96msTimer1:周期 40.8ms


2、
Timer0:周期 409.6msTimer1:周期 408ms


3、
Timer0:周期 4096msTimer1:周期 4080ms

使用特权

评论回复
6
MianQi|  楼主 | 2021-7-8 18:43 | 只看该作者
又拿之前参与测评的PIC18F57Q43测试了一下,有同样的问题,这会要改的依然是:“CLCnGLS3 = 0x40;

使用特权

评论回复
7
lcczg| | 2021-7-9 16:53 | 只看该作者
MianQi 发表于 2021-7-8 18:43
又拿之前参与测评的PIC18F57Q43测试了一下,有同样的问题,这会要改的依然是:“CLCnGLS3 = 0x40;” ...

感谢所做的测试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:所有未经解决的问题都一般大。

30

主题

383

帖子

3

粉丝