GPIO驱动1.0_1223
2018-12-24 本文已影响0人
ppzbreeze
1.针对GPIO操作的一些了解
- 当前对驱动的理解仍处于粗浅的阶段;
- 对所有的硬件操作理论上都是通过寄存器进行的,所以GPIO也不例外,针对寄存器操作来实现GPIO操作;
- 预期GPIO相关硬件需要涉及到的东西,
(1)电路板原理图,
(2)代码,
(3)相互串联需要的熟练度 - 几个关键的代码位置,
(1)设置GPIO接口用途的宏定义文件,通常来说可以在板卡做出来后,当前板卡对应的文件夹下的Include文件夹下寻找,可能的结构要么是针对每个板卡均有单独的源文件,要么是有一个大型的综合源文件+单个板卡不同的地方的独立源文件;
(2)具体操作GPIO接口函数的文件,这个就要靠经验来找一找了,一般来说是hal文件夹下,有一些更厉害的芯片厂家会自己封装新的函数方便无码使用,但是更深层的调用可以看到都是相同的; - 操作GPIO的一些流程,通常是获取状态,设置状态两个主要流程,有些具体的GPIO还要涉及到中断问题,通常来说拉高流程是
(1)设置GPIO接口为输出的setout(),
(2)查询当前状态gpio_get(),
(3)如果当前是低电压,就执行拉高函数gpio_set(), - PS:有些GPIO涉及到具体的环境问题,需要进行gpio_open(),才能进行get()等操作;