QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2008|回复: 0

s3c2410 pwm 驱动问题HELP! HELP! HELP!

[复制链接]
发表于 2009-1-7 16:51:12 | 显示全部楼层 |阅读模式
s3c2410  定时器启动不了,,PWM波不输出
我用的内核是linux2.6.14.1的


S3c2410pwm驱动初始化如下:

s3c2410_gpio_cfgpin(S3C2410_GPB2,S3C2410_GPB2_TOUT2);
s3c2410_gpio_pullup(S3C2410_GPB2,1);
s3c2410_gpio_cfgpin(S3C2410_GPB3,S3C2410_GPB3_TOUT3);
s3c2410_gpio_pullup(S3C2410_GPB3,1);

writel((readl(S3C2410_TCFG1)&(~(0xf<<20))),S3C2410_TCFG1);
writel((readl(S3C2410_TCFG0)&(~S3C2410_TCFG_PRESCALER0_MASK)),S3C2410_TCFG0);
writel((readl(S3C2410_TCFG0)|(249)),S3C2410_TCFG0);
writel((readl(S3C2410_TCFG1)|(S3C2410_TCFG1_MUX2_DIV),S3C2410_TCFG1);
writel((readl(S3C2410_TCNTB(2))&(~0xffff)),S3C2410_TCNTB(2));

writel((readl(S3C2410_TCNTB(2))|(45000)),S3C2410_TCNTB(2));
writel((readl(S3C2410_TCMPB(2))|(15000)),S3C2410_TCMPB(2));
writel((readl(S3C2410_TCNTB(3))|(55000)),S3C2410_TCNTB(3));
writel((readl(S3C2410_TCMPB(3))|(25000)),S3C2410_TCMPB(3));

寄存器初始化后,重新读里面的值显示读出来的值也都正确。。但是中断子函数进不去,,而且TOUT2和TOUT3脚都无波形输出
唯一有反应的是
: writel((readl(S3C2410_TCFG0)&(~S3C2410_TCFG_PRESCALER1_MASK)),S3C2410_TCFG0);
writel((readl(S3C2410_TCFG0)|(20)),S3C2410_TCFG0);
使内核定时器速度加快了。液晶上的光标跑的更快了。
但是其他的定时器就是开不了,,
请高手赐教,而且request_irq 函数也能注册成功,但是中断进不去,而且在exit的时候显示free中断出现问题,
重新安装该模块就会提示中断失败,

希望大虾帮我看看。。
联系QQ : 87550691
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-12-4 01:24 , Processed in 0.040762 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表