s3c2410 pwm 驱动问题HELP! HELP! HELP!
s3c2410 pwm 驱动问题HELP! HELP! HELP!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:cool:),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
[ 本帖最后由 dreamice 于 2009-1-8 09:12 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你检查一下,这个timer是不是被其他地方使用了