5851|2

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

TIVA C控制器timer的PWM输出 [复制链接]

最近一个项目用到红外收发,需要调制一个38K的信号,我用的片子是TM4C1231H6PZ,没有PWM模块,就想着试用一下timer的PWM功能,刚开始用了半天没调处来,后来才发现自己做的时候呆逼了,现在把最终代码发出来一下,大家可以看一下别出现我的问题。
查询手册,为了布线方便,我使用的是这个管腿。

使用的为WT4CCP1,由于看芯片手册看的不仔细,我这回最大的问题出在了这个WT,也就是宽定时器,以前都是用的普通定时器,没注意这个W,结果刚开始都是按照普通定时器来初始化的(一脸懵逼)后来才发现,真是悲剧。。。我擦,最后的源代码就是这样了,我经过硬件测试的,大家如果要使用的话,一定要看清是T?CCP?还是WT?CCP?,别和我一样悲剧。。这个CCP0是子定时器A,CCP1是子定时器B,我使用的CCP1,所以就是用timerB。

下面是源代码:

/*  输入的变量sysclock为系统的时钟频率,我使用的是这款芯片的最快频率80M */
void WTimer4Init(const uint32_t sysclock)
{
    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH);//使能输出PWM的端口
    SysCtlGPIOAHBEnable(SYSCTL_PERIPH_GPIOH);//该端口正好有AHB,就用上了
    ROM_GPIOPinConfigure(GPIO_PH7_WT4CCP1);//初始化端口特殊功能
    ROM_GPIOPinTypeTimer(GPIO_PORTH_AHB_BASE, GPIO_PIN_7);//初始化此端口受timer控制,CCP功能

    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_WTIMER4);//使能WTimer4
    ROM_SysCtlPeripheralReset(SYSCTL_PERIPH_WTIMER4);//为了安全,重启一下这个外设
    while(!ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_WTIMER4));//等待外设重启完毕

    ROM_TimerDisable(WTIMER4_BASE, TIMER_B); //配置前停止定时器

    ROM_TimerConfigure(WTIMER4_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_B_PWM);
    //配置为单定时器模式和timerBPWM模式
  
    ROM_TimerControlLevel(WTIMER4_BASE, TIMER_B, false);//PWM输出正极性
    ROM_TimerControlStall(WTIMER4_BASE, TIMER_B, true);//WTIMER在调试(仿真)时自动停止,这个是为了仿真方便

    ROM_TimerLoadSet(WTIMER4_BASE,TIMER_B, sysclock / 38000);//设定定时值
    ROM_TimerMatchSet(WTIMER4_BASE,TIMER_B,sysclock / 38000 / 2);//设定翻转值

    ROM_TimerEnable(WTIMER4_BASE, TIMER_B);//使能定时器
}

最新回复

楼主,请问下两者区别在哪里?我用wtimer4,配置后侧不带  详情 回复 发表于 2018-1-19 11:55
 
点赞 关注(1)

回复
举报

39

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
很有收获,谢谢楼主分享
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
楼主,请问下两者区别在哪里?我用wtimer4,配置后侧不带
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表