|
后来我就放弃了,直接用它配置工具,将SDK导出到KEIL中用,还是熟悉的配方和味道。
uint32_t tick_count=0;
void Delay(int ms){
tick_count=ms;
while(tick_count);
}
void SysTick_Handler(void){
if(tick_count)
tick_count--;
}
int main(void)
{
char ch;
/* Init board hardware. */
/* attach FRO 12M to FLEXCOMM4 (debug console) */
CLOCK_SetClkDiv(kCLOCK_DivFlexcom4Clk, 1u);
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
/* attach TRACECLKDIV to TRACE */
CLOCK_SetClkDiv(kCLOCK_DivTraceClk, 2U);
CLOCK_AttachClk(kTRACE_DIV_to_TRACE);
BOARD_InitPins();
BOARD_InitBootClocks();
BOARD_InitDebugConsole();
PRINTF("hello world.\r\n");
BOARD_InitBootPeripherals(); //初始化外设-SYSTICK 1ms中断
while (1)
{
//ch = GETCHAR();
//PUTCHAR(ch);
Delay(500);
BOARD_INITPINS_LED_RED_GPIO->PDOR&=~BOARD_INITPINS_LED_RED_GPIO_PIN_MASK; //清0,点亮
Delay(500);
BOARD_INITPINS_LED_RED_GPIO->PDOR|=BOARD_INITPINS_LED_RED_GPIO_PIN_MASK;
}
}
代码中,由于在引脚配置时,已配置了引脚标签,所以这里调用就比较方便了。
寄存器直接写代码,NXP的还是很方便的。
测试中发现一个问题,其它朋友好像也提到过的,下载程序没运行,调试或复位才会执行,后边再查查原因。
我比较喜欢自己搞代码,我看有很多评测把官方例子跑一次就好了,那是学不到东西的,得自己动手。