转——C2000 LAUNCHPAD DEMO 程序学习

[复制链接]
 楼主| G21372 发表于 2014-4-27 23:53 | 显示全部楼层 |阅读模式
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:\ti\controlSUITE\development_kits\C2000_LaunchPad\f2802x_common\source
  //  就是让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);
  }

 楼主| G21372 发表于 2014-4-27 23:54 | 显示全部楼层
f2802x_headers 文件夹下包含了在使用直接将寄存器访问模式时所需要提供的文件
寄存器直接访问
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1;,
2,f2802x_common文件夹为外设库访问模式提供的一些支持文件也就是API访问
先定义,后使用原则
GPIO_Handle myGpio;//定义
myGpio = GPIO_init((void *)GPIO_BASE_ADDR, sizeof(GPIO_Obj));//初始化
使用外设
GPIO_setPullUp(myGpio, GPIO_Number_0, GPIO_PullUp_Enable);
GPIO_setMode(myGpio, GPIO_Number_0, GPIO_0_Mode_EPWM1A);
zhangmangui 发表于 2014-4-28 21:39 | 显示全部楼层
学习查找资料的过程中  遇到好的东西  还望各位多多分享
tianli1980 发表于 2014-5-6 20:43 | 显示全部楼层
TI的库函数感觉不错,
熟悉内核工作过程后使用起来应该很方便.

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

197

主题

1658

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部