大家好、
我将使用具有 CCS6.1.0的 TivaWare_C_Series-2.1.0.12573。 我的代码只是我为定制板编写的一个简单的闪烁代码:
#include #include #include "sc/tm4c1294ncppdt.h" #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "driverlib/rom.h" #include "driverlib/rom_map.h" #include "driverlib/syscret.000" #include "#driverlib_trl.ipt.inc"#idt_freq.ipt_free.t_free.t_free.t_free.t_freq.ipt_free.t_free.h /../../UnitestLibraries/unitest_tm4c1294ncpdt_peripherals.h #include "#include "#include "#include "#driver.ipt_trintrintrin_un.ipt.inc"#include "#include "#id.ipt.ipt.ipt.ipt.ipt.inc.inc.ipt.ipt.ipt.ipt.inc.ipt.inc.inc.inc.inc.inc.inc.ipt.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc.inc./../../UnitestLibraries/unitest_tm4c1294ncpdt_timer_func.h /../../UnitestLibraries/unitest_tm4c1294ncpdt_timer_init.h /../../UnitestLibraries/unitest_tm4c1294ncpdt_gpio_init.h //ui32SysClkFreq = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000); //SYSCTL_OSC_INT GPIOKOutput (GPIO_initT0_GPIO_PIN_0)、0xTITYP0_GPIO_PIN_PINT_TIV0_PIN_PIN_PIN_TIMET0 TIMER0_BASE、time2TimerLoadbySysClk (ui32SysClkFreq、0.5、0));// 2ms interruptInitTIMER (INT_TIMER0A、 TIMER0_BASE、TIMER_A、TIMER_TINA_TIMEOUT、Timer0IntHandler); IntMasterEnable (); MAP_TimerEnable (TIMER0_BASE、TIMER_A); while (1); } void Timer0IntHandler (void) { //清除计时器中断 TimerIntClear (TIMER0_BASE、TIMER_TIMA_TIMEOUT); //读取 GPIO 引脚的当前状态,// 将相反状态写回 if (GPIORTK) (GPIORP0_BASE)、GPIO_PIN_GPIO0_BASE (GPIO_PIN_GPIO_PIN_GPIO0_BASE);}
问题是、当我使用内部振荡器时、我可以嵌入代码、而不会出现任何问题。 但是、当我将代码从内部振荡器切换到25MHz 晶体时、我可以嵌入代码、但 MCU 会锁定。 我必须执行擦除过程才能接触到芯片。 我正在使用推荐的晶体(与 Tiva 连接板中使用的晶体完全相同。) 我还连接了 RBIAS 电阻器。
我一直无法找到错误的来源、如果有人能帮忙、我会很高兴。

