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

发布于 2022-09-23 14:09:35 字数 1608 浏览 9 评论 0

s3c2410 pwm 驱动问题HELP! HELP! HELP!s3c2410  定时器启动不了,,PWM波不输出
我用的内核是linux2.6.14.1的

S3c2410pwm驱动初始化如下:

  1. s3c2410_gpio_cfgpin(S3C2410_GPB2,S3C2410_GPB2_TOUT2);
  2. s3c2410_gpio_pullup(S3C2410_GPB2,1);
  3. s3c2410_gpio_cfgpin(S3C2410_GPB3,S3C2410_GPB3_TOUT3);
  4. s3c2410_gpio_pullup(S3C2410_GPB3,1);
  5. writel((readl(S3C2410_TCFG1)&(~(0xf<<20))),S3C2410_TCFG1);
  6. writel((readl(S3C2410_TCFG0)&(~S3C2410_TCFG_PRESCALER0_MASK)),S3C2410_TCFG0);
  7. writel((readl(S3C2410_TCFG0)|(249)),S3C2410_TCFG0);
  8. writel((readl(S3C2410_TCFG1)|(S3C2410_TCFG1_MUX2_DIV:cool:),S3C2410_TCFG1);
  9. writel((readl(S3C2410_TCNTB(2))&(~0xffff)),S3C2410_TCNTB(2));
  10. writel((readl(S3C2410_TCNTB(2))|(45000)),S3C2410_TCNTB(2));
  11. writel((readl(S3C2410_TCMPB(2))|(15000)),S3C2410_TCMPB(2));
  12. writel((readl(S3C2410_TCNTB(3))|(55000)),S3C2410_TCNTB(3));
  13. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

且行且努力 2022-09-30 14:09:35

你检查一下,这个timer是不是被其他地方使用了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文