设备的开始按键是用查询方式还是中断方式比较好,

如果是中断的方式,中断里面只是给一个启动的标志位吧,然后还是不断的查询这个标志位,感觉和直接查询这个IO口差不多啊,还有停止按键呢

用中断好,因为中断来的时候,是有中断控制器控制的,而CPU每个机器周期必然会去查询中断控制器中最高优先级的中断事件,如果有事件发生就去处理,没有就干点别的或修眠。而如果定时查询IO去判断则放着中断控制器不用,浪费额外的机器时间去查询外设状态,如果外设很多,那么CPU浪费的机器时间越多。用中断控制器的好处是虽然CPU现在也需要定时查询中断控制器,但是他现在只需关心最高优先级的那个中断事件不用在一个机器周期里面对各种并发中断进行排序,要知道处理并发中断,从微观角度关来讲,这也是需要消耗机器时间的。想想看,老板之所以找一个秘书来处理日常琐事,而不用自己亲自自己来,就是因为老板时间宝贵,他要把时间用在更有意义的事情上。CPU就是老板,中断控制器就是秘书。自从找了秘书后,老板是不是比以前轻松很多了?这个疑问我埋藏了多年,今天也有人有此疑惑,实在难得!这是我自己思考了好久,今天终于想明白的事情。太高兴了!

对于按键使用查询和中断模式,查询模式是自己采用一段代码放在一个循环中,例如main函数中实时查询发现变位就去处理,而中断模式采用硬件方式查询变化状态然后做出相应。两者的区别一个是需要自己编写查询软件代码,一个是初始化时配置好中断模式,然后在中断中直接写你的处理代码即可。中断相应要比软件查询高,可以根据自己的实际应用情况选择。

本人上传资源中有嵌入式编程相关的辅助工具,如果有意的可以下载使用,以及arm启动框架的工程,上传的工具和软件根据自己多年的工作经验自己编写的。

中断方式好,外部中断优先级高,一按下按键就进入中断服务函数,而查询的话太占用CPU了,响应速度也不一定很快