再者。时钟选择和JTAG防锁死最好加上。这个坛子里有人遇到过问题,所以一直不敢乱下载程序,每次下载时都会加上这两个,防患未然,谁也不想自己的板子挂了,所以小心驶得万年船,大家都加上吧。 PS:附上这个简单的小程序
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_gpio.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_gpio.h" #include "driverlib/debug.h" #include "driverlib/gpio.h" #include "driverlib/sysctl.h" #include "driverlib/systick.h" #include "driverlib/adc.h" #include "inc/lm3s811.h" #include "driverlib/timer.h" #include "driverlib/interrupt.h" #include "inc/hw_ints.h" #include "inc/lm3s811.h"
void JtagWait(void) { SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); // 使能KEY所在的GPIO端口 GPIOPinTypeGPIOInput(GPIO_PORTC_BASE, GPIO_PIN_4); // 设置KEY所在管脚为输入
if (GPIOPinRead(GPIO_PORTC_BASE, GPIO_PIN_4) == 0x00) // 若复位时按下KEY,则进入 { for (;;); // 死循环,以等待JTAG连接 }
SysCtlPeripheralDisable(SYSCTL_PERIPH_GPIOC); // 禁止KEY所在的GPIO端口 }
int main(void) { volatile unsigned long Loop; JtagWait(); SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ);//配置系统时钟
/* EV板上 D2 LED 接的PC5 */ SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOC; // 控制端口C的时钟选通 Loop = 555;//因为上面那句涉及到时钟操作,因此需要稍作停留,等待时钟稳定,才能对外设操作? GPIO_PORTC_DIR_R |= 0x20; //PC5方向为输出 GPIO_PORTC_DEN_R |= 0x20; //GPIO数字使能 while(1) { GPIO_PORTC_DATA_R |= 0x20; //输出高电平 for(Loop = 0; Loop < 100000; Loop++) {} GPIO_PORTC_DATA_R &= ~(0x20); for(Loop = 0; Loop < 100000; Loop++) {} } }
= SYSCTL_RCGC2_R; 这一句貌似没有实际含义 可是少了这一句就是直接不亮了请指教( 问题已经解决
解决来自DAVID_LEE
因为上面那句涉及到时钟操作,因此需要稍作停留,等待时钟稳定,才能对外设操作?
)
[ 本帖最后由 常见泽1 于 2011-5-16 13:26 编辑 ] |