电脑冲冲冲——修炼ARM11:按键驱动

计算机冲冲冲——修炼ARM11:按键驱动

  如果玩过单片机,写过按键驱动,那么在OK6410上写裸板按键驱动也是同样的原理。只不过OK6410要对IO进行配置。

  在写裸板程序的时候,常常会看到C代码上定义的寄存器地址要有关键字volatile修饰。这个关键字比较少见,这是什么意思呢?看了韦东山老师的S3C6410裸板程序视频教学后,我明白了。

  在编写C代码的时候,由于寄存器的地址定义了却有时没有被使用,会被编译器优化掉。这么一来,定义好的寄存器地址就没有了。所以要加上volatile关键字,防止寄存器地址定义被编译器优化掉。

  写按键驱动代码,一样的,要看原理图。

底板按键原理图:

电脑冲冲冲——修炼ARM11:按键驱动

核心板原理图:

电脑冲冲冲——修炼ARM11:按键驱动

  由上可知,开发板的四个按键和S3C6410的GPN0~GPN5连在一起的。

  根据S3C6410的手册,配置GPNCON寄存器对应位设置为输入功能。

  编写代码实现按键控制LED灯,下面直接贴代码。