Tinyos快速构建自己的c2538 Peripheral interrupt

1,使用C库

        很多应用场景的比如传感器,很容易在网上找到驱动库包,或者linux下某些开源的库包;可以自行快速的连接使用,提高编程效率;

.传感器 参考http://blog.csdn.net/mc158185/article/details/50737721(ds18b20),适用C文件较少,

库参考 libcoap或本身tinyos链接使用的2538底层TI的库;

当库文件多的时候,可以参考fwlib的make做法,编译成xx.a库,在tinyos

的makefile rules先进性make ,这种方式只是需要构建库使用一次即可,以后的每次make实际并不对该库进行make(当然你做了库文件修改 会自动重新make)

上述的C文件目录路径都需要在需要在.platform文件添加一下路径



2.外设驱动/Peripheral

   单片机等编程会涉及到编写Peripheral中断函数,使用IDE方式(IAR/KEIL)如2530等单片机中断向量的定义常常在头文件中已经给出,相对简单;

tinyos 稍微麻烦一点,下面介绍一下以UART0IrqHandler()为例子添加一个串口中断;

1,中断函数向量表 startup_gcc.c,添加UART0IrqHandler()


Tinyos快速构建自己的c2538 Peripheral interrupt_第1张图片



添加中断函数功能就是对应自己的需要的外设中断向量项的内容自行编写一个函数名称,执行覆盖;

如举例UART0IrqHandler() 这个函数名称自己按自己的习惯取名就行;

2,应用C或nc文件按照默认的语法编写中断函数体:如下:


Tinyos快速构建自己的c2538 Peripheral interrupt_第2张图片


3,回到startup_gccc进行UART0IrqHandler() 函数声明

Tinyos快速构建自己的c2538 Peripheral interrupt_第3张图片
      到此一个中断也就基本完成了,
添加条件编译,开启/关闭串口中断:
Tinyos快速构建自己的c2538 Peripheral interrupt_第4张图片

你可能感兴趣的:(cc2538,tinyos)