前言
由于contiki操作系统中已经有了CC1310的封装库,我们只需要调用即可,本文就是给大家讲下怎么调用,免去自己找的麻烦
驱动位置
在更新好contiki系统后可以在下图位置找到驱动的位置,其中图1中的
ti-lib.h
文件是留出的各种驱动的接口,里面可以找打图2的所以驱动接口,他用宏重新定义了个名字
gpio接口介绍
下图便是ti-lib.h文件中的GPIO接口了。
其中有multi的参数是引脚的宏定义:
没有的是可以直接填写引脚编号的,大概功能看英文也能知道了吧。下面使用ti-lib.h文件来举例,原因是宏定义的时候方便。
例子
先列出代码
#include "contiki.h"
//#include "gpio.h"
#include "ti-lib.h"
#include <string.h>
#include <stdio.h>
/********************************************************************/
/********************************************************************/
PROCESS(test,"Test");
AUTOSTART_PROCESSES(&test);
PROCESS_THREAD(test,ev,data)
{
PROCESS_BEGIN();
static struct etimer et;
etimer_set(&et,CLOCK_SECOND*3);
// GPIO_setDio(26);
// GPIO_setDio(27);
// GPIO_setDio(28);
// GPIO_setDio(29);
ti_lib_gpio_set_output_enable_dio(26,GPIO_OUTPUT_ENABLE);
ti_lib_gpio_set_output_enable_dio(27,GPIO_OUTPUT_ENABLE);
ti_lib_gpio_set_output_enable_dio(28,GPIO_OUTPUT_ENABLE);
ti_lib_gpio_set_output_enable_dio(29,GPIO_OUTPUT_ENABLE);
ti_lib_gpio_set_dio(26);
ti_lib_gpio_set_dio(27);
ti_lib_gpio_set_dio(28);
ti_lib_gpio_set_dio(29);
while(1)
{
PROCESS_YIELD();
if(ev== PROCESS_EVENT_TIMER){
// GPIO_toggleDio(26);
// GPIO_toggleDio(27);
// GPIO_toggleDio(28);
// GPIO_toggleDio(29);
ti_lib_gpio_toggle_dio(26);
ti_lib_gpio_toggle_dio(27);
ti_lib_gpio_toggle_dio(28);
ti_lib_gpio_toggle_dio(29);
printf("lalalalal");
etimer_reset(&et);
}
}
PROCESS_END();
}
在使用gpio输出电平的时候要记得用
ti_lib_gpio_set_output_enable_dio(26,GPIO_OUTPUT_ENABLE);
来使能输出哦。其他驱动程序也就类似,找找这个驱动接口文件,调用起来也方便,