1. blinky project 正常运行的单片系统上,发觉功耗较大,偿试关闭外设的时钟。
2. 但下载完关闭外设时钟的代码后,悲剧发生了,原来正常运行的 BLINKY PROJECT 不会闪亮 LED 了,而且也无法连机(MDK 通过 ULINK)。
关闭外设时钟代码如下(LPC17xx可以在MDK下操作外设时钟及电源控制, LPC18xx 却没有了):
void PerClk_Config(void) {
Chip_Clock_Disable(CLK_APB3_I2C1);
Chip_Clock_Disable(CLK_APB3_DAC);
Chip_Clock_Disable(CLK_APB3_ADC0);
Chip_Clock_Disable(CLK_APB3_ADC1);
Chip_Clock_Disable(CLK_APB3_CAN0);
Chip_Clock_Disable(CLK_APB1_MOTOCON);
Chip_Clock_Disable(CLK_APB1_I2C0);
Chip_Clock_Disable(CLK_APB1_I2S);
Chip_Clock_Disable(CLK_APB1_CAN1);
Chip_Clock_Disable(CLK_SPIFI);
Chip_Clock_Disable(CLK_MX_SPIFI);
Chip_Clock_Disable(CLK_MX_LCD);
Chip_Clock_Disable(CLK_MX_ETHERNET);
Chip_Clock_Disable(CLK_MX_USB0);
Chip_Clock_Disable(CLK_MX_EMC);
Chip_Clock_Disable(CLK_MX_SDIO);
Chip_Clock_Disable(CLK_MX_DMA);
Chip_Clock_Disable(CLK_MX_USB1);
Chip_Clock_Disable(CLK_MX_EMC_DIV);
Chip_Clock_Disable(CLK_MX_EEPROM);
Chip_Clock_Disable(CLK_MX_WWDT);
Chip_Clock_Disable(CLK_MX_UART0);
Chip_Clock_Disable(CLK_MX_UART1);
Chip_Clock_Disable(CLK_MX_SSP0);
Chip_Clock_Disable(CLK_MX_TIMER0);
Chip_Clock_Disable(CLK_MX_TIMER1);
Chip_Clock_Disable(CLK_MX_RITIMER);
Chip_Clock_Disable(CLK_MX_UART2);
Chip_Clock_Disable(CLK_MX_UART3);
Chip_Clock_Disable(CLK_MX_TIMER2);
Chip_Clock_Disable(CLK_MX_TIMER3);
Chip_Clock_Disable(CLK_MX_SSP1);
Chip_Clock_Disable(CLK_MX_QEI);
Chip_Clock_Disable(CLK_USB0);
Chip_Clock_Disable(CLK_USB1);
// Chip_Clock_Disable(CLK_APLL);
Chip_Clock_Disable(CLK_APB2_UART3);
Chip_Clock_Disable(CLK_APB2_UART2);
Chip_Clock_Disable(CLK_APB0_UART1);
Chip_Clock_Disable(CLK_APB0_UART0);
Chip_Clock_Disable(CLK_APB2_SSP1);
Chip_Clock_Disable(CLK_APB0_SSP0);
Chip_Clock_Disable(CLK_APB2_SDIO);
return;
}
3. 转而想到 ISP 的操作上去,同样也无法连机。屈闷中。手头上只购得三片 MCU,已搞垮二片了。
4. 请问还有办法让 LPC1833 复活吗?需要怎样做?望知情的给于指导。谢谢。
Hi ,
非常感谢使用NXP产品,很高兴为你提供技术支持!
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
您好
我的板子已成功恢复下载,仿真功能。
有关你提出的问题如下:
MDK 4.74, 并参考
"lpcopen_2_12_keil_iar_keil_mcb_1857\applications\lpc18xx_43xx\keil_uvision_projects\keil_mcb_1857\periph\periph_systick" 里面的工程,做了些更改。没有用原来板初始化代码, 我的工程里没有加载这二个文件"board_sysinit.c", "board.c"。
当时更改后,代码能正常的运行。后来尝试关闭外设操作减少功耗,在执行完 "systickinit();",后加入了上列的代码 。
祝愉快。
谢谢。
Hi ,
既然芯片恢复说明硬件没有问题,是软件方面导致的原因,请问你有用单步调试的办法锁定具体在哪一步或者哪一行的代码导致的问题出现的吗?
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------