打印
[KungFu32位 MCU]

关于KF32F350比较模式的探讨。

[复制链接]
7972|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 编号10086 于 2021-7-14 17:34 编辑

小弟最近在熟悉这款单片机,其实在前几天看官方例程(KF32Fxxx_EVL_Examples\CCPx CCPx_Compare_Mode.zip (9.1 KB) )的时候就对比较中断有疑惑了。

这几天花了很多时间,把通用定时器和CCPX的寄存器手册看了一遍,疑惑更深了。

我甚至怀疑这款单片机是不是没有比较中断?


首先,我们来看一下这个官方的例程。


它的注释是这样写的:
用户可参考该例程在KF32F350_demo板上实现比较模式的配置功能。 例程中使用CCP0模块实现比较模式,PE1 为CCP0_CHANNEL_1 PE2为CCP0_CHANNEL_2 PA2为CCP0_CHANNEL_3 PA2为CCP0_CHANNEL_3,当在比较周期匹配后产生中断,然后再在 中断里再次设置CCP0_CH1通道的比较值,判断比较值后把PB8进行电平翻转。PB8对应LED0灯的控制,挂示波器可以看到PB8输出60HZ 占空比50%的信号。

但是,实际上,那个中断是溢出中断,而不是比较中断。在溢出中断中也没有判断比较值,只是修改了比较值。
例程的做法是,在溢出中断中,修改比较值,然后根据比较值会拉高或者拉低,PE1的电平。
在这一过程中并没有产生比较中断。
也就是说当Tx与Ry相等时,并没有产生一个比较中断,而是直接拉高或者拉低了CH1的电平。

而选择另外一种模式:产生软件中断。
这个模式产生了比较中断,但是可能是因为我配置的问题,这个中断是和溢出中断同步的。




使用特权

评论回复
沙发
里面有晴雨| | 2021-7-17 08:49 | 只看该作者
这个模式还是不错的,很棒的一种方式进行数据传输的工作。

使用特权

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

本版积分规则

15

主题

76

帖子

0

粉丝