本系列用于对simplelink_cc13x0_sdk的快速使用

1 相关文件

PIN.h : simplelink_cc13x0_sdk_1_60_00_21\source\ti\drivers , 接口函数

GPIOCC26XX.c,GPIOCC26XX.h : E:\TI-RTOS\simplelink_cc13x0_sdk_1_60_00_21\source\ti\drivers\gpio , 具体实现

2 使用示例

static PIN_Handle ledPinHandle;
void led_init()
{PIN_State ledPinState;PIN_Config ledPinTable[] = {Board_PIN_LED0 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW  | PIN_PUSHPULL | PIN_DRVSTR_MAX,PIN_TERMINATE};ledPinHandle = PIN_open(&ledPinState, ledPinTable);PIN_setOutputValue(ledPinHandle, Board_PIN_LED0, CC1310_LAUNCHXL_GPIO_LED_ON);
}void led_on()
{PIN_setOutputValue(ledPinHandle, Board_PIN_LED0, Board_LED_ON);
}void led_off()
{PIN_setOutputValue(ledPinHandle, Board_PIN_LED0, Board_LED_OFF);
}void led_reverse()
{PIN_setOutputValue(ledPinHandle, Board_PIN_LED0,!PIN_getOutputValue(Board_PIN_LED0));
}void led_close()
{PIN_close(ledPinHandle);
}

3 备注

GPIO引脚定义用这三个文件管理 CC1310_LAUNCHXL.h,CC1310_LAUNCHXL.c,Board。例如上例中的Board_PIN_LED0,首先在Board中

#define Board_PIN_LED0    CC1310_LAUNCHXL_PIN_RLED

然后在CC1310_LAUNCHXL文件中才被实际性指向

#define CC1310_LAUNCHXL_PIN_RLED  IOID_1

写程序前最好先更加自己的硬件对这几个文件进行配置,默认是使用的TI 开发板

还有点值得注意的是,在CC1310_LAUNCHXL.c中很可能是对一些默认使用的GPIO进行初始化的,首先在主函数中查看是否调用了init的函数,然后跳转过去就会发现类似下列代码:

/**  ======== CC1310_LAUNCHXL_initGeneral ========*/
void CC1310_LAUNCHXL_initGeneral(void)
{Power_init();if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) {/* Error with PIN_init */while (1);}}

BoardGpioInitTable结构体就在同文件中可以看到:

/**  =============================== PIN ===============================*/
#include <ti/drivers/PIN.h>
#include <ti/drivers/pin/PINCC26XX.h>const PIN_Config BoardGpioInitTable[] = {//    CC1310_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off          */
//    CC1310_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off          */
//    CC1310_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low       */
//    CC1310_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low       */
//    CC1310_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */
//    CC1310_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,                                              /* UART RX via debugger back channel */
//    CC1310_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,                        /* UART TX via debugger back channel */CC1310_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master out - slave in */CC1310_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master in - slave out */CC1310_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,                                             /* SPI clock */PIN_TERMINATE
};

他这里都是用的是宏定义,所以最方便的方式就是在.h文件中直接修改IO的宏定义,不使用的全部设置为PIN_UNASSIGNED即可

补充:

注册中断回调

  if (PIN_registerIntCb(buttonPinHandle, &buttonCallbackFxn) != 0) {System_abort("Error registering button callback function");}

示例中断回调函数

void buttonCallbackFxn(PIN_Handle handle, PIN_Id pinId)
{PIN_getInputValue(pinId);//读取电平if ( pinId == Board_BUTTON0 )PIN_setOutputValue(ledPinHandle, Board_LED0, !PIN_getOutputValue(Board_LED0);}

simplelink_cc13x0_sdk中GPIO的使用相关推荐

  1. STM8中GPIO的12种模式

    STM8中GPIO的12种模式 (1)GPIO_Mode_In_FL_No_IT:浮空输入无中断 (2)GPIO_Mode_In_PU_No_IT:上拉输入无中断 (3)GPIO_Mode_In_FL ...

  2. STM32中GPIO的8种模式

    STM32中GPIO的8种模式

  3. 【GPS】GPS的C_GNSS_RF_ELNA_GPIO_NUM_DEFAULT配置,Linux系统中GPIO的设置

    GPS的GPIO配置文件 客户需要更改此变量C_GNSS_RF_ELNA_GPIO_NUM_DEFAULT才能覆盖NAVRF驱动程序ELNA设置. modem_proc/gps/gnss/mgp/me ...

  4. 休眠后gpio状态_STM32中GPIO的8种工作模式总结

    STM32 中 GPIO 的 8 种工作模式总结 一.推挽输出:可以输出高.低电平,连接数字器件 ; 推挽结构一般是指 两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一 个截止.高低 ...

  5. Android M版本中gpio几种常见设定的pinctrl配置

    Android M版本中gpio几种常见设定的pinctrl配置 [DESCRIPTION] pinctrl的配置file是<project>.dts 备注:配置是以mt6735上gpio ...

  6. firefly-rk3399开发板100天之第2天 记录firefly-rk3399 wiki中gpio操作

    firefly-rk3399开发板100天之第2天 记录firefly-rk3399 wiki中gpio操作 Docs » GPIO 使用 GPIO 使用 简介 GPIO, 全称 General-Pu ...

  7. STM32中GPIO口八种工作模式简介及LED灯测试

    STM32中GPIO口八种工作模式简介及LED灯测试 一.GPIO口八种工作模式 二. LED灯测试 一.GPIO口八种工作模式 在STM32单片机里对于GPIO的配置种类有8种之多,包括4种输入模式 ...

  8. linux驱动:设备-总线-驱动(以TI+DM8127中GPIO为例)

    一:说明:这次学习设备-总线-驱动是以TI+DM8127的GPIO为例 1.GPIO资源注册到omap_hwmod链表中 2.初始化GPIO 3.将GPIO注册到plarform层 4.将GPIO注册 ...

  9. STM32中GPIO的8种工作模式

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.形象点解释:推挽,就是有推有拉,任何 ...

  10. STM32中GPIO的8种工作模式!

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数 ...

最新文章

  1. AI 架构师 Yoshua Bengio:深度学习的研究,对于工业应用来说太过简单
  2. PL/SQL 操作数据库常见脚本
  3. 利用JS弹出层实现简单的动态提示“正在加载中,请稍等...”
  4. 通用工具之Pair和Tuple-《C++标准库(第二版)》读书笔记
  5. SilverFoxServer出炉!!
  6. 求立方根_初一数学立方根考点详解,立足基础,把握题型,学会方法
  7. 使用LBP+SVM,训练识别给定的测试图像
  8. 微软开源其 C++ 标准库实现 STL
  9. CSS知识点补充收集
  10. Vue后台数据模拟以及抓取线上数据
  11. iOS 图片拉伸、拉伸两端保留中间
  12. php依赖注入 简书,依赖注入
  13. python几种设计模式_Python七大原则,24种设计模式
  14. H265视频转码H264视频
  15. Python爬取新闻联播(文字版)
  16. 应该了解的世界思想名著
  17. outlook qr码在哪里_爱奇艺极速版邀请码是多少在哪里填写 邀请码怎么输入方法...
  18. 如何实现多列对比去重
  19. matlab 矩阵 矢量场,Matlab将矢量转换为矩阵(Matlab turning vectors into a matrix)
  20. 企业选择局域网即时通讯软件的必要性是什么?

热门文章

  1. checkbox如何默认选中
  2. python分支结构与循环结构
  3. 《欧洲文学名著导读》——读书笔记
  4. python中append什么意_python里append是什么
  5. wp友情链接php代码,wordpress友情链接函数详解
  6. 仿支付宝输入密码效果
  7. 基于vue,自定义条形进度条/辣条进度条
  8. docker限制容器下载速度
  9. dropbox 下载不了问题
  10. Invalid bound statement (not found)出现的原因和解决方法