找回密码
 立即注册
查看: 90|回复: 3

【已解决】PCA模块关闭后电平如何控制

[复制链接]
  • TA的每日心情
    奋斗
    前天 00:19
  • 签到天数: 95 天

    [LV.6]常住居民II

    12

    主题

    88

    回帖

    668

    积分

    高级会员

    积分
    668
    发表于 2023-7-11 16:49:10 | 显示全部楼层 |阅读模式
    本帖最后由 一笔长空 于 2023-7-15 16:33 编辑

    现在启用了PCA模块的PWM功能,使用CR=0;代码进行关闭,现在关闭后仅仅是没了脉冲,但io口的电平完全是随机的,这次停止后是高,下次有可能是低,不可控。在CR=0后面加了P26=0也不行有时还是会高电平。来请教各位老师如何解决。自己想的是在停止前先设置占空比为0然后停止,下次启动时再重新赋值占空比,感觉这样有些麻烦,有没有简单的办法
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:00
  • 签到天数: 144 天

    [LV.7]常住居民III

    27

    主题

    1356

    回帖

    4217

    积分

    论坛元老

    积分
    4217
    发表于 2023-7-11 19:05:06 | 显示全部楼层


    规格书里有介绍PCA PWM模式如何固定输出高低电平:
    1.png

    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 00:19
  • 签到天数: 95 天

    [LV.6]常住居民II

    12

    主题

    88

    回帖

    668

    积分

    高级会员

    积分
    668
     楼主| 发表于 2023-7-11 23:03:52 | 显示全部楼层
    乘风飞扬 发表于 2023-7-11 19:05
    规格书里有介绍PCA PWM模式如何固定输出高低电平:

    非常感谢您,成功了,现在是停止时给CCAPnH赋值0XFF使之持续为低电平,开启时给CCAPnH再赋初值调整占空比,除CCAPnH之外的都不管,原理这样对不对
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3053

    回帖

    6883

    积分

    超级版主

    积分
    6883
    发表于 2023-7-13 15:55:21 | 显示全部楼层
    PCA-PWM连续输出0或1的方法,以PCA0(PWM0-CCP0)为例:
    PCA_PWM0 &= ~0x02;        // PWM0正常输出
    PCA_PWM0 |= 0x3f, CCAP0H = 0xff, CCAP0L = 0xff;        // PWM0一直输出0
    PCA_PWM0 &= 0xc0, CCAP0H = 0,    CCAP0L = 0;        // PWM0一直输出1

    也可以直接关闭这一路PCA,关闭后就是一个普通IO,直接输出高低电平即可。

    你执行使用CR=0; 并没有关闭PCA,只是让计数器停止,则所有PCA输出就凝固,保持高电平或低电平输出。
    回复 支持 1 反对 0 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-21 02:19 , Processed in 0.058066 second(s), 43 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表