1 GPIO 初始化
#include "f2802x_common/include/gpio.h" //首先包含头文件
GPIO_Handle myGpio; //定义了一个指向GPIO寄存器的句柄,就是指针,居然这么写
//接下是初始化这个句柄
//GPIO_BASE_ADDR 是GPIO的首地址
//myGpio指向这个地址,以后控制GPIO就用这个句柄了
//怎么感觉是windows 编程呢!!不懂
myGpio = GPIO_init((void *)GPIO_BASE_ADDR, sizeof(GPIO_Obj));
//然后设置端口模式
GPIO_setMode(myGpio, GPIO_Number_0, GPIO_0_Mode_GeneralPurpose);
//设置端口方向
GPIO_setDirection(myGpio, GPIO_Number_0, GPIO_Direction_Output);
//输出拉高
GPIO_setHigh(myGpio, GPIO_Number_0);
//输出拉低
GPIO_setLow(myGpio, GPIO_Number_0);
//这种编程的方法怎么有点像windows程序设计呢!
// 把GPIO 寄存器组 看成一个object 然后用句柄来 指向它 以后只要使用这个句柄就
//ok
//C: icontrolSUITEdevelopment_kitsC2000_LaunchPadf2802x_commonsource
// 就是让GPIO结构体类型的指针指向 器件GPIO的物理地址
GPIO_Handle GPIO_init(void *pMemory, const size_t numBytes)
{
GPIO_Handle gpioHandle;
if(numBytes < sizeof(GPIO_Obj))
{
return((GPIO_Handle)NULL);
}
// assign the handle
gpioHandle = (GPIO_Handle)pMemory;
return(gpioHandle);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
熟悉内核工作过程后使用起来应该很方便.
一周热门 更多>