6594|3

1

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

请高手指点ARM定时器 [复制链接]

各位大虾,小弟刚学ARM,现在做简单的程序,在定时器上遇到问题,使用芯片是S3C2410,在用他做单个定时器作PWM输出时,可以进行脉宽调制,当占空比改变时改变相应TCMPB寄存器就可以调节脉宽,但当同时使用两个定时器作PWM输出时,没有波形,具体设置如何,请高手指点,谢谢! 下面是我的程序,请高手看看. void PWM_Init0(uint16 cycle, uint16 duty) { if(duty>cycle) duty = cycle; // 设置定时器0,即PWM周期和占空比 // Fclk=200MHz,时钟分频配置为1:2:4,即Pclk=50MHz。 rTCFG0 = 97; // 预分频器0设置为98,取得510204Hz rTCFG1 = 0; // TIMER0再取1/2分频,取得255102Hz rTCMPB0 = duty; // 设置PWM占空比 rTCNTB0 = cycle; // 定时值(PWM周期) if(rTCON&0x04) rTCON = rTCON|(1<<1); // 更新定时器数据 (取反输出inverter位) else rTCON = rTCON| (1<<2)|(1<<1); rSRCPND = rSRCPND|(1<<10); // 清除中断标志 rINTPND = rINTPND; //|(1<<10); rTCON = rTCON|(1<<0)|(1<<3); // 启动定时器 } void PWM_Init1(uint16 cycle, uint16 duty) { if(duty>cycle) duty = cycle; rTCMPB1 = duty; // 设置PWM占空比 rTCNTB1 = cycle; // 定时值(PWM周期) if(rTCON&0x0400) rTCON = rTCON|(1<<9); // 更新定时器数据 (取反输出inverter位) else rTCON = rTCON|(1<<10)|(1<<9); rSRCPND = rSRCPND|(1<<11); rINTPND = rINTPND; //|(1<<11); rTCON = rTCON|(1<<8)|(1<<11); // 启动定时器 } int main(void) { uint16 pwm_dac; // 独立按键KEY1控制口设置 rGPFCON = (rGPFCON & (~(0x03<<8))); // rGPFCON[9:8] = 00b,设置GPF4为GPIO输入模式 // TOUT0口设置 rGPBCON = (rGPBCON & (~(0x0F<<0))) | (0x0A<<0); // rGPBCON[1:0] = 10b,[3,2]=10b,设置TOUT0,TOUT1功能 rGPBUP = rGPBUP | 0x0003; // 禁止TOUT0,1口的上拉电阻 rPRIORITY = 0x00000000; // 使用默认的固定的优先级 rINTMOD = 0x00000000; // 所有中断均为IRQ中断 rINTMSK = ~(3<<10); // 打开TIMER0中断允许 // 初始化PWM输出。设PWM周期控制值为255 (即DAC分辨率为8位) pwm_dac = 40; // 初始化占空比为0,即输出0V电压 PWM_Init0(255, pwm_dac); PWM_Init1(255, 255-pwm_dac); // 等待按键KEY1,改变占空比 while(1) { WaitKey(); // 由于PWM周期控制值为255,所以0.5V对应的PWM占空比的值为:0.5/3.3 * 256 = 39 pwm_dac = pwm_dac + 39; // 改变D/A输出的电压值 if(pwm_dac>255) { pwm_dac = 40; } rTCMPB0 = pwm_dac; rTCMPB1 = 255-pwm_dac; } return(0); } 我看到周立工的指导书上有的不写中断优先级,不知道十么原因,谢谢! [ 本帖最后由 zjnc1982 于 2008-4-14 16:14 编辑 ]
此帖出自ARM技术论坛

最新回复

多请教高手们,应该可以解决问题  详情 回复 发表于 2009-11-3 19:23
点赞 关注
 

回复
举报

193

帖子

0

TA的资源

纯净的硅(中级)

沙发
 
还处在51时代的路过 [ 本帖最后由 pxy94 于 2008-4-14 16:31 编辑 ]
此帖出自ARM技术论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
如果还没解决,建议你联系以下网店店主,店主从事底层软件开发,有丰富的单片机,ARM方面的经验及资料和软件驱动。
http://shop35776393.taobao.com
此帖出自ARM技术论坛
 
 
 

回复

1290

帖子

0

TA的资源

五彩晶圆(初级)

4
 
多请教高手们,应该可以解决问题
此帖出自ARM技术论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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