2500|0

6809

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

cc2640 之PWM [复制链接]

1、PWM? 
答:PWM–脉冲宽度调制简称,通过调整PWM的占空比来实现电机转动速度、led亮度。它是由定时器配置产生的高低为1,0的脉冲波。

2、原理:CC2640有4个定时器,每个定时器可以配置A、B两路PWM输出脉冲。首先配置定时器为PWM模式,和设置波峰,则产生周期性的斜面波;再设置比较值,周期性的斜面波根据设置的比较值最终产生周期性的高低为1、0的PWM脉冲波,具体步骤如下:

第一步:PWM波输出引脚配置:

引脚配置:上拉输出 
PIN_Config timerPinTable_LEDR[] = { PWM_LEDR | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_INPUT_DIS | PIN_DRVSTR_MAX, 
PIN_TERMINATE };

//打开引脚 
hPin_LEDR = PIN_open(&pinState, timerPinTable_LEDR);

//引脚与定时器事件映射 
PINCC26XX_setMux(hPin_LEDR, PWM_LEDR, IOC_PORT_MCU_PORT_EVENT0);

第二步:配置定时器1中的A路PWM波

//定时器1电源设置 
Power_setDependency(PERIPH_GPT0); 
//配置定时器脉宽调制PWM模式,输出A路PWM波 
TimerConfigure(GPT0_BASE, TIMER_CFG_SPLIT_PAIR|TIMER_CFG_A_PWM);

//设置定时器输出斜面波的波峰 TIMER_LOADSET 
TimerLoadSet(GPT0_BASE, TIMER_A, TIMER_LOADSET);

//设置定时器输出斜面波的比较值 
TimerMatchSet(GPT0_BASE, TIMER_A, TIMER_MATCH);

//设置定时器触发方式 
TimerEventControl(GPT0_BASE, TIMER_A, TIMER_EVENT_NEG_EDGE);

//使能定时器: 
TimerEnable(GPT0_BASE,TIMER_A);

 

此帖出自无线连接论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表