去年年末的时候团了LM3S9B96和LM3S811,记得那时候说拍0.01元的LM3S811是要交学习笔记的,所以从今天开始写学习笔记,还当时的承诺。持续时间大约为50天,每两天一篇,前15份学习笔记是基于811,后10份基于9B96。
①先上图
我见到过的811板子至少有4种,而团购的这块811是EK-LM3S811-ND,功能相对较少,但是还是可以做很多实验。
运行时发现仿真测试MDK本是不支持的,后来看到David Lee的帖子:https://bbs.eeworld.com.cn/thread-292064-1-1.html问题总算解决了。
板上外设:
LED1 PC5
LED2 PD7
KEY PC4
需要把systemInit.h,systemInit.c,main.c放到同一个文件夹下面,然后手动把main.c和systemInit.c添加到工程里面。再详细的步奏坛子里已经有很多很好的教程,如:https://bbs.eeworld.com.cn/viewthread.php?tid=290441
接下来跑一个简单的例子,功能是实现LED的翻转(main.c):
#include "systemInit.h"
// 定义LED引脚
#define LED_PERIPH SYSCTL_PERIPH_GPIOC
#define LED_PORT GPIO_PORTC_BASE
#define LED_PIN GPIO_PIN_5
// 主函数(程序入口)
int main(void)
{
jtagWait(); // 防止JTAG失效,重要!
clockInit(); // 时钟初始化:晶振,6MHz
SysCtlPeriEnable(LED_PERIPH); // 使能LED所在的GPIO端口
GPIOPinTypeOut(LED_PORT, LED_PIN); // 设置LED所在管脚为输出
for (;;)
{
GPIOPinWrite(LED_PORT, LED_PIN, 0x00); // 点亮LED
SysCtlDelay(150 * (TheSysClock / 3000)); // 延时约150ms
GPIOPinWrite(LED_PORT, LED_PIN, 0xFF); // 熄灭LED
SysCtlDelay(850 * (TheSysClock / 3000)); // 延时约850ms
}
}
初学TI--M3,各位大侠发现问题,请批评指正。