微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机驱动心得

单片机驱动心得

时间:11-25 来源:互联网 点击:
单片机操作系统写驱动有区别,单片机不用考虑系统框架,操作系统必须符合系统的使用接口规范。

单片机驱动类型:
大循环查询,定时器中查询,中断 ,DMA中断
大循环查询,对于大循环时间很依赖,所以一般来说只做启动或者停止之类工作,过程工作交给中断或者DMA中断做

定时器查询,如果大循环时间不定,那么可以专门开一个定时器,中断中不断的循环查询或者启动中断之类,这个既不堵塞大循环也不依赖大循环时间,只是比较耗费cpu资源,不一定有那么多的定时器给你用,可以多个驱动共用一个定时器,定时器中计数,定时器查询没有大循环的缺点,只是和中断等比起来实时性稍微差点,因为定时器查询时定时器不能太频繁

中断,数据量不大时,或者每个中断都要应用层处理时

DMA中断,数据量比较大,要求后台的方式,效率要求时,和大循环时间无关,

设计驱动的要求:驱动不能堵塞大循环,不能依赖大循环时间

驱动最佳是DMA中断,但是具体驱动看类型,很多的驱动随便写写就可以了,不用DMA

操作系统类型:

如果有操作系统,写驱动会舒服很多,例如iic或者spi可以在驱动中死等,反正等的时候,放弃cpu即可,就是时间片不能太小,其实对于大部分驱动来说,对实时要求没有那么高的。

选择:
要求最高的就用DMA中断
一般就用定时器中查询或者设备中断
在次之,就在大循环中查询

根据具体要求,没有一定。。。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top