免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2582 | 回复: 7

[驱动] 关于2440定时器的问题 从9263移植到2440 [复制链接]

论坛徽章:
0
发表于 2010-06-28 11:00 |显示全部楼层
有一段atmel 9263的代码 对9263不熟 手册看的晕乎乎的
  1.        
  2. /* Prepare TCx to reload automaticly on RC compare */
  3. at91_tc_write(AT91_TC_CCR, AT91_TC_CLKDIS);
  4. at91_tc_write(AT91_TC_CMR, AT91_TC_TIMER_CLOCK3 | AT91_TC_WAVESEL_UP_AUTO | AT91_TC_WAVE);
  5. at91_tc_write(AT91_TC_RC, rt_times.periodic_tick);
  6. at91_tc_write(AT91_TC_CCR, AT91_TC_CLKEN | AT91_TC_SWTRG);
复制代码
这应该是设置reload模式 在每次从0计数到RC的时候,就trigger
一开始是始终禁止,然后设置CMR寄存器 选择时钟3 wave模式 后面设置RC的值 最后就是时钟使能,并且软件触发开始计数。不知我理解的对不
我想在2440上实现类似上面的功能 应该怎么写呢?
我想的是通过计数器4来实现
  1. #define rTCON (*(volatile unsigned int *) S3C2410_TCON)
  2. #define rTCNTB4 (*(volatile unsigned int*) S3C2410_TCNTB(4))
  3. #define rTCMPB4 (*(volatile unsigned int*) S3C2410_TCMPB(4))
  4. int tcon;
  5. tcon = rTCON;
  6. tcon = tcon & ~(1 << 20) ;
  7. rTCON = tcon;//这里是stop timer4
  8. rTCNTB4 = 0xFFFF-rt_times.periodic_tick; //因为at91的计数器是递增的,而2440的是递减的所以这里用0xffff减去
  9. rTCMPB4 = 0;
  10. tcon = rTCON | (1 << 21) || (1 << 22) ; //2440 mannul update
  11. rTCON = tcon;
  12. tcon = rTCON | (1 << 20);//start timer4
  13. rTCON = tcon;
复制代码
不知我这样写对不对 thanks very very much

论坛徽章:
0
发表于 2010-06-29 11:01 |显示全部楼层
一天了咋还没个人回复 顶一下

论坛徽章:
0
发表于 2010-06-30 12:38 |显示全部楼层
参看《嵌入式linux应用开发 完全手册》

论坛徽章:
0
发表于 2010-06-30 14:42 |显示全部楼层
回复 3# 0vk0


    手上没有 这本书 网上down的电子版没有关于计数器部分的 你有电子版的么 麻烦你email我一份可以么 1226ehziy@gmail.com

论坛徽章:
0
发表于 2010-06-30 14:54 |显示全部楼层
回复 3# 0vk0


    刚刚借了一本 看了下定时器部分,照搬手册上的东西,不是偶想要的。

论坛徽章:
0
发表于 2010-06-30 17:18 |显示全部楼层
初学就得照搬,再就是对照给的手册一个一个调

论坛徽章:
0
发表于 2010-06-30 17:19 |显示全部楼层
我也没有电子的,我是买的书

论坛徽章:
0
发表于 2010-06-30 21:41 |显示全部楼层
回复 6# 0vk0


    这个同意,但是俺的问题是把9263上的那段代码 放到2440上该如何实现 不知这样说妥不妥
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP