查看: 977|回复: 0

ADI EVAL-ADuCM360QSPZ开发套件试用报告六

[复制链接]

该用户从未签到

发表于 2018-6-20 16:39:15 | 显示全部楼层 |阅读模式
分享到:
这一期给大家带来的是PWM的控制函数,PWM的工作原理就是通过控制占空比来达到对目标的调节与控制。老规矩,先把PWM的初始化函数贴出来。
void PWM_Init(){      WdtCfg(T3CON_PRE_DIV1,T3CON_IRQ_EN,T3CON_PD_DIS);    ClkDis(CLKDIS_DISSPI0CLK| CLKDIS_DISSPI1CLK| CLKDIS_DISI2CCLK| CLKDIS_DISUARTCLK| CLKDIS_DISPWMCLK| CLKDIS_DIST1CLK| CLKDIS_DISDACCLK| CLKDIS_DISDMACLK| CLKDIS_DISADCCLK);   ClkCfg(CLK_CD0,CLK_HF,CLKSYSDIV_DIV2EN_DIS,CLK_UCLKCG);              DioCfg(pADI_GP1,0x50);           PwmInit(UCLK_2,PWMCON0_PWMIEN_EN,PWMCON0_SYNC_EN,PWMCON1_TRIPEN_DIS);      PwmGo(PWMCON0_ENABLE_EN,PWMCON0_MOD_DIS); }前三行大家都比较熟悉,就是对系统时钟的一些配置,之前的文章中有介绍。下一行是设置PWM的输出,设置P1.2和P1.3作为输出引脚,然后是使能PWM的时钟函数。之后配置PWM为标准输出模式。另外,在使用PWM时还要注意一些使用规则,确保高端高电平的时间不能大于低端高电平的时间。初始化函数完成之后需要在主函数中调用,然后编写控制子函数,代码很简单,如下。void StartPWM(){        PwmTime(PWM0_1,200,150,40); }子函数简洁易懂,实现的功能是设置周期数为200,然后设置高端PWM0高电平占空比75%,低端PWM1高电平占空比20%。然后在while()循环中调用该函数,即可完成该部分的函数编写。记得不要忘记编写前的项目配置工作。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-20 05:22 , Processed in 0.106373 second(s), 18 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.