最近不是有
TIVA C Launchpad入门课程有奖活动嘛!视频在看,快看完了。手上正好有块以前的Stellaris LM4F120 LaunchPad,我看了下原理图,和
Tiva™ C Series EK-TM4C123GXL LaunchPad差不多完全一样。
首先看下RGB是怎么连接的,原理图如下:
知道了三个LED灯分别连接到了PF1、PF2、PF3就好办了。TI 配备了完整的函数库,使用函数库进行操作就变的很简单了。
首先从http://www.ti.com/tool/sw-ek-lm4f120xl下载用于LM4F Lanuchpad的StellarisWare,安装完之后,只要用到D:\ti\StellarisWare\inc目录和D:\ti\StellarisWare\driverlib这两个目录
至于CCSv5如何创建工程,在视频教程中已经介绍的非常详细了,这里就不再写出来了。但是有一点要注意的是:我是用的CCSv5的版本的Version: 5.5.0.00068 ,在设置完的基本的工程时候,会自动添加Stellaris LM4F120的启动文件
lm4f120h5qr_startup_ccs.c。我记得之前的版本是要自己手动添加的。添加
D:\ti\StellarisWare\driverlib\ccs-cm4f\Debug目录下的
driverlib-cm4f.lib库,跟视频中的有点不同。
源程序很简单,也跟视频中的一样:
- #include
- #include
- #include "inc/hw_types.h"
- #include "inc/hw_memmap.h"
- #include "driverlib/sysctl.h"
- #include "driverlib/gpio.h"
- void main(void)
- {
- uint8_t ui8Led = 2 ;
- SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN);
- SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
- GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);
- while(1)
- {
- GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3,ui8Led);
- SysCtlDelay(2000000);
- if(ui8Led == 0)
- {
- ui8Led = 2 ;
- }
- else
- {
- ui8Led = ui8Led*2 ;
- }
- }
- }
复制代码实验效果:三色灯不停闪烁。
我用Sublime Text 3打开了4个文件:分别查看函数库
通过函数里面的ASSERT(GPIOBaseValid(ulPort));断言函数来查看该函数参数具体取哪些值。不知道我的方法对不对,大家有什么好方法来写这些函数的参数吗?