免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ady2002
打印 上一主题 下一主题

自己修改的ADC0809驱动,Godbach和版主请看看 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-11-18 13:25 |只看该作者
我主要就是想把 中断换成这个时钟中断
也就是这边修改了一点

能不能对比两个程序代码 帮我看看呢 问题到底出在哪里了哦  苦啊

中断的对应的地址线 这个是什么呢???代码没有体现出来啊

论坛徽章:
0
12 [报告]
发表于 2008-11-18 13:58 |只看该作者
大家人不在了???

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
13 [报告]
发表于 2008-11-18 14:04 |只看该作者
原帖由 ady2002 于 2008-11-18 13:03 发表

我现在就是对昨天那个驱动 里面那几个问题不是很清楚哦。
就是ioctl到底是怎么触发中断函数的,wirter作用是什么一直高不明白哦
郁闷


ioctl并没有触发中断函数,问题在于你对这个程序的理解上,还没有真正把握,以至于会写出这样的程序。
我昨天帮你分析了各个函数的用意,你可以回头看看,然后真正领悟这个程序。

论坛徽章:
0
14 [报告]
发表于 2008-11-18 14:08 |只看该作者
恩 我在研究研究哦

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
15 [报告]
发表于 2008-11-18 14:49 |只看该作者
原帖由 ady2002 于 2008-11-18 14:08 发表
恩 我在研究研究哦


这个程序没多少东西,我看你一方面要理解AD,另一方面更为重要的是,要理解驱动,理解中断,以及这些函数到底怎么运作。

论坛徽章:
0
16 [报告]
发表于 2008-11-18 15:26 |只看该作者
原帖由 dreamice 于 2008-11-18 14:49 发表


这个程序没多少东西,我看你一方面要理解AD,另一方面更为重要的是,要理解驱动,理解中断,以及这些函数到底怎么运作。

呵呵 我现在还是新手
我觉得之前的那个驱动看了很久,AD的datasheet我也看了

我现在就是不解的是为什么我加定时中断上去 老是提示 非法指针错误 郁闷啊~~~~~

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
17 [报告]
发表于 2008-11-18 15:50 |只看该作者

回复 #16 ady2002 的帖子

你仔细想一想,你把时钟中断加到另一个硬件模块里面,这是什么道理?
如果你要定时读这个AD的东西,首先要实现AD的驱动程序,必然需要实现读的功能。
然后,对于定时读取的功能,这个是策略问题,放到用户空间去完成,应用程序弄一个定时器,定期去读AD就OK了,搞那么复杂,反而把驱动弄得面目全非了,你这样kernel panic那是必然的。

论坛徽章:
0
18 [报告]
发表于 2008-11-18 16:11 |只看该作者
原帖由 dreamice 于 2008-11-18 15:50 发表
你仔细想一想,你把时钟中断加到另一个硬件模块里面,这是什么道理?
如果你要定时读这个AD的东西,首先要实现AD的驱动程序,必然需要实现读的功能。
然后,对于定时读取的功能,这个是策略问题,放到用户空间 ...

如果定时器放到用户空间  那样的话我要一直获取新的数据 那就要使用while(1)来获取新数据啊
因为我要求速度在ms级,而且最后还要嵌入到minigui中去,
所以我想的是能在驱动中完成比较好 这样比较节省minigui的资源吧

还有就是定时读取部分 我要嵌套好几个定时器,显示10ms的提取进行累加,接在要一个1-10s钟时求和再平均的过程,
最后还要60s取一次平均值

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
19 [报告]
发表于 2008-11-18 16:29 |只看该作者

回复 #18 ady2002 的帖子

一个问题:首先你要明白你需要完成什么需求?
这个需求可能存在很多中解决方案,那么你该选择一种什么样的解决方案呢?
咱们又说道机制和策略问题上来,这是驱动程序无法避免的一个问题。驱动程序尽量只实现机制的问题,而不要去考虑太多策略问题——也就是你的特定应用需求问题。

怎样实现都可以,但是,从合理性上来考虑,以及可扩展性,稳定性等等,可能这些都谈得太远了,但又不得不考虑。

回到你这个问题上来,ad驱动,实现一个读的功能,提供给其它模块以及应用程序,这就是它所需要完成的功能,你附加给它,让它定时的报出去,报给谁?如果其它模块要使用AD,那该怎么办?

这个问题就好比你要找你老板请教一个问题,你却说:“我今天晚上12点有空,你来找我吧!”把主次都给搞混了。

论坛徽章:
0
20 [报告]
发表于 2008-11-18 16:32 |只看该作者
是这样的 我这个是做项目的 也就是特定的需求 AD的作用就仅仅针对这个就OK了
不需要考虑到其他的还可能使用AD的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP