从TI申请的板子在手上都很久了,也没有好好的玩过
最近看大家都在热火朝天的学习,也来凑个热闹吧
我是个懒人,我不喜欢去操作寄存器,所以我倾向于使用API,从最简单的IO操作开始吧
我改造了一下自带的blinky代码
定义#define LED GPIO_PIN_0
一,需要有一些必要的头文件
#include "inc/lm3s8962.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
为什么需要加这些,怎么知道需要加哪些头文件,这也是一开始困惑我的,我的原则是一边编译一边添加必要的头文件,不行就Google,哈哈
二,使能外设
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
三 配置IO方向
GPIODirModeSet(GPIO_PORTF_BASE,LED,GPIO_DIR_MODE_OUT);
四 设置IO驱动强度和类型
GPIOPadConfigSet(GPIO_PORTF_BASE,LED,GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD);
五 对IO写值
GPIOPinWrite(GPIO_PORTF_BASE,LED,1);
或者
GPIOPinWrite(GPIO_PORTF_BASE,LED,1);
改造完毕,主要学习了IO的输出操作
完整程序如下:
#include "inc/lm3s8962.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
#define LED GPIO_PIN_0
int main(void)
{
volatile unsigned long ulLoop;
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIODirModeSet(GPIO_PORTF_BASE,LED,GPIO_DIR_MODE_OUT);
GPIOPadConfigSet(GPIO_PORTF_BASE,LED,GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD);
while(1)
{
GPIOPinWrite(GPIO_PORTF_BASE,LED,1);
for(ulLoop = 0; ulLoop < 200000; ulLoop++)
{
}
GPIOPinWrite(GPIO_PORTF_BASE,LED,0);
for(ulLoop = 0; ulLoop < 200000; ulLoop++)
{
}
}
}