本帖最后由 dzwwzd6699 于 2021-5-15 19:55 编辑
有幸收到日天兄的板卡,第一次玩NXP的芯片,踩了很多坑。LPC812-MAX包装简约,主控为一颗20pin的30Mhz的M0+微控制器,拥有16 kB 的闪存和 4 kB 的 SRAM,可通过开关矩阵分配给任意引脚,灵活性较高,板载CMSIS-DAP下载调试电路与3色LED,并通过I2C接口实现ADC/DAC转换、GPIO扩展,与Arduino接口相兼容。 CMSIS-DAP连接: 与ST-LINK不同,LPC-812MAX板载下载器的固件不通用,自带固件为MBED平台的,支持U盘bin固件的拖放,不支持CMSIS-DAP连接,无法被KEIL与MCUXpresso IDE识别与在线调试。 解决方法在UserManual for LPCXpresso812-MAX Board (OM13055)手册上,需要去官网重新下载下载固件,短按复位键上电,覆盖LPC11U35 的firmware.bin 文件。
点灯: 开发环境选择选择keil,通过软件延时,实现rgb颜色切换。 #include "LPC8xx.h" #include "utilities.h" #include "lpc8xx_syscon.h" void delay_us(int a); void delay_ms(int b); void action_1(void); void action_2(int rgb,int time); //rgb:111 ~999 void delay_us(int a){ unsignedlong i; i= a*1000; for(;i> 0;i--); } void delay_ms(int b){ unsignedlong i; i= b*1000; for(;i> 0;i--){ delay_us(1); } } void action_1(){ LEDs_On(BLUE|GREEN|RED); delay_ms(1); LEDs_Off(BLUE|GREEN|RED); delay_ms(1); } void action_2(int rgb,int time){ int r = rgb/100-1; int g = rgb/10%10-1; int b = rgb%10-1; int count = time *10; for (;count >= 0;count --){ LEDs_On(RED); delay_us(1*r); LEDs_Off(BLUE|GREEN|RED); LEDs_On(GREEN); delay_us(1*g); LEDs_Off(BLUE|GREEN|RED); LEDs_On(BLUE); delay_us(1*b); LEDs_Off(BLUE|GREEN|RED); } LEDs_Off(BLUE|GREEN|RED); } int main(void) { LPC_SYSCON->SYSAHBCLKCTRL |= (GPIO); //GPIO时钟 Config_LEDs(BLUE|GREEN|RED); //LED初始化 while(1) { action_2(911,10); action_2(191,10); action_2(119,10); } }
|