打印

转——C2000 LAUNCHPAD DEMO 程序学习

[复制链接]
842|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝