用DM368产生2Khz的方波

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

timer_list:说定时器,当然要来个定时器的结构体
struct timer_list{
struct list_head entry; //定时器列表
unsignedlong expires; //定时器到期时间
void (*function)(unsignedlong) ;//定时器处理函数
unsignedlong data; //作为参数被传入定时器处理函数
struct timer_base_s *base; }
这种机制只能产生50HZ的频率,我想产生2KHZ 的频率的方波改怎么用定时器?
zhaoxqi 发表于 2018-4-9 16:41 | 显示全部楼层

有谁做过这方面的东西啊,davinci系列的demo
huangchui 发表于 2018-4-9 16:44 | 显示全部楼层
用硬件自己做吧
 楼主| 午夜粪车 发表于 2018-4-9 16:47 | 显示全部楼层

为什么
zhaoxqi 发表于 2018-4-9 16:50 | 显示全部楼层
因为用API函数只能受限于jiffies和HZ,做不了很高的频率
jiaxw 发表于 2018-4-9 16:53 | 显示全部楼层


当然是在程序里面修改下定时器的CCRX值的
jiajs 发表于 2018-4-9 16:56 | 显示全部楼层

沒太明白你的說法,Linux下以驅動模塊的方式,應該可以寫到2KHZ以上的。但有一個問題是這個方波,不一定能保證每個周期都是嚴格等長的。這是Linux類非實時作業系統的固有問題!
zhanghqi 发表于 2018-4-9 16:59 | 显示全部楼层
不用这么复杂吧,可以直接使用硬件定时产生的啊,也非常准确的,毕竟是硬件的嘛,呵呵
 楼主| 午夜粪车 发表于 2018-4-9 17:01 | 显示全部楼层
嗯,我知道了,多谢啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

867

主题

10194

帖子

3

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