嵌入式开发者社区
标题:
基于TL138/1808/6748-EVM开发板 基于startware 关于定时器的 问题
[打印本页]
作者:
ri616688707
时间:
2017-1-12 16:50
标题:
基于TL138/1808/6748-EVM开发板 基于startware 关于定时器的 问题
我用的是6748 EVM 开发板 基于startware dsp6748的开发环境 ccs5.5 仿真器 100V2
我参考咱们的 例程 TIMER 把 定时器2 设置为通用的64为计数器
来分别验证以下三种工作模式
1、一次工作(定时器运行一个周期然后停止)
2、持续工作(定时器在每个周期结束自动清零并继续工作)
3、– 持续工作周期性重载(定时器在每个周期自动获取重载寄存器的值并继续工作)
前两种 模式 都工作正常
第三种 工作模式 不起作用
以下是我的代码
void TimerInit(void)
{
//TimerDisable(SOC_TMR_2_REGS, TMR_TIMER_BOTH);
// 配置 定时器 / 计数器 2 为 64 位模式
TimerConfigure(SOC_TMR_2_REGS, TMR_CFG_64BIT_CLK_INT);
// 设置周期为一秒
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER12, TMR_PERIOD_LSB32);
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER34, TMR_PERIOD_MSB32);
// 设置重载周期为五秒
TimerReloadSet(SOC_TMR_2_REGS, TMR_TIMER12, TMR_RELOA_LSB32);
TimerReloadSet(SOC_TMR_2_REGS, TMR_TIMER34, TMR_RELOAD_MSB32);
// 使能 定时器 / 计数器 2 为连续重载模式
TimerEnable(SOC_TMR_2_REGS, TMR_TIMER12, TMR_ENABLE_CONTRELOAD);
// 使能 定时器 / 计数器 2
//TimerEnable(SOC_TMR_2_REGS, TMR_TIMER12, TMR_ENABLE_CONT);
}
// 64位 定时器 / 计数器周期
// 定时时间 1 秒
// 低32位
#define TMR_PERIOD_LSB32 (0x0D970100)
// 高32位 0
#define TMR_PERIOD_MSB32 (0)
// 64位 定时器 / 计数器周期
// 定时时间5 秒
// 低32位
#define TMR_RELOA_LSB32 (0X43F30500)
// 预定标分频计数
#define TMR_RELOAD_MSB32 (0)
我自己调试了半天了 手册也看了几遍 始终没有发现问题 还望创龙给予技术支持 多谢啦
作者:
ri616688707
时间:
2017-1-12 16:52
求大神 指导
作者:
70010x
时间:
2017-1-12 17:12
重载周期改成0x800试一试
作者:
ri616688707
时间:
2017-1-12 17:24
70010x 发表于 2017-1-12 17:12
重载周期改成0x800试一试
#define TMR_RELOA_LSB32 (0X800)
// 预定标分频计数
#define TMR_RELOAD_MSB32 (0)
重载周期 低位改成了 0X800 高位 依旧为0 还是没有效果啊 请大神 再指导下 谢啦
作者:
ri616688707
时间:
2017-1-12 19:53
斌哥 我是你的粉丝啊 求解决啊 ????
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4