用DM368产生2Khz的方波

[复制链接]
 楼主| 午夜粪车 发表于 2015-6-1 21:37 | 显示全部楼层 |阅读模式
我想用DM368产生2Khz的方波,但是不使用PWM模块,我想用定时器然后加GPIO进行翻转生成,但是我用linux内核中的定时器中断函数生成的方波最多只有50hz,
 楼主| 午夜粪车 发表于 2015-6-1 21:39 | 显示全部楼层

timer_list:说定时器,当然要来个定时器的结构体
struct timer_list{
struct list_head entry; //定时器列表
unsignedlong expires; //定时器到期时间
void (*function)(unsignedlong) ;//定时器处理函数
unsignedlong data; //作为参数被传入定时器处理函数
struct timer_base_s *base; }
这种机制只能产生50HZ的频率,我想产生2KHZ 的频率的方波改怎么用定时器?
zhaoxqi 发表于 2015-6-1 21:39 | 显示全部楼层
有谁做过这方面的东西啊,davinci系列的demo
huangchui 发表于 2015-6-1 21:40 | 显示全部楼层
用硬件自己做吧
 楼主| 午夜粪车 发表于 2015-6-1 21:40 | 显示全部楼层
为什么
zhaoxqi 发表于 2015-6-1 21:40 | 显示全部楼层
因为用API函数只能受限于jiffies和HZ,做不了很高的频率
jiaxw 发表于 2015-6-1 21:40 | 显示全部楼层

当然是在程序里面修改下定时器的CCRX值的
jiajs 发表于 2015-6-1 21:41 | 显示全部楼层
沒太明白你的說法,Linux下以驅動模塊的方式,應該可以寫到2KHZ以上的。但有一個問題是這個方波,不一定能保證每個周期都是嚴格等長的。這是Linux類非實時作業系統的固有問題!
jiajs 发表于 2015-6-1 21:41 | 显示全部楼层

看你對實時性的要求吧。如果要求的比較高,可能需要打RT補丁,或者使用混合操作系統,用其中的實時內核來產生方波。
zhanghqi 发表于 2015-6-1 21:41 | 显示全部楼层
不用这么复杂吧,可以直接使用硬件定时产生的啊,也非常准确的,毕竟是硬件的嘛,呵呵
 楼主| 午夜粪车 发表于 2015-6-1 21:41 | 显示全部楼层
嗯,我知道了,多谢啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

867

主题

10194

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部