求问各位大神 现在要在ARM Linux下实现28.8khz的方波

2019-07-16 09:04发布

RT  之前在裸机上使用的是定时器中断的方式  现在要在linux上实现   但是查资料后发现好多人说linux上无法产生1ms或更低的定时器中断  我之前尝试mod_tiMER  的确最低只能精确到10ms  求各位大神帮忙啊   真的无法实现吗   驱动里可不可以像裸机那样设置寄存器啊  或者有没有其他的方法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
jiangxibian
2019-07-16 14:09
在别的地方找到方法了   之前在别的帖子看有人还说linux嵌入式上无法实现1Khz以上的准确波形输出。。。。
关键代码贴下吧   和裸机操作寄存器有些像
static irqreturn_t timer_interrupt(void)
{       
//此处略去若干行
return IRQ_HANDLED;
}
unsigned long Ftclk,Fpclk=50000000; //s3c2440a+--?+Fpclk+?0MHz
    unsigned int tcfg0,tcfg1,tcon;
s3c2410_gpio_cfgpin(S3C2410_GPB(1), S3C2410_GPIO_OUTPUT);
    s3c2410_gpio_setpin(S3C2410_GPB(1), 0);
    tcfg0 = inl(S3C2410_TCFG0);
    tcfg1 = inl(S3C2410_TCFG1);
    tcon = inl(S3C2410_TCON);

一周热门 更多>