ARM Cortex-M3初探
生活随笔
收集整理的這篇文章主要介紹了
ARM Cortex-M3初探
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ARM初探–alias
alias是為老函數(shù),取一個新的名字!
attribute關(guān)鍵字來描述函數(shù),變量和數(shù)據(jù)類型的屬性,用于編譯器對源代碼的優(yōu)化
下面是ARM Cortex-M3中應(yīng)用alias的一段代碼能夠簡化,程序的編寫進(jìn)程!
void NMI_Handler(void) __attribute((alias("HardFault_Handler"))); //alias指令別名 void MemManage_Handler(void) __attribute((alias("HardFault_Handler"))); void BusFault_Handler(void) __attribute((alias("HardFault_Handler"))); void UsageFault_Handler(void) __attribute((alias("HardFault_Handler"))); void SVC_Handler(void) __attribute((alias("HardFault_Handler"))); void DebugMon_Handler(void) __attribute((alias("HardFault_Handler"))); void PendSV_Handler(void) __attribute((alias("HardFault_Handler")));經(jīng)過使用alias修飾之后,只需定義一個NMI_Handler()函數(shù)即可,其它的函數(shù)調(diào)用的時候就會調(diào)用NMI_Handler()函數(shù);
void HardFault_Handler(void) {__disable_irq();__set_MSP(__Vectors);LEDS_SETUP();{register int count;for (count = 0; count < 5; count++){LedRunningOn();Delay_ms(250);LedRunningOff();LedConnectedOn();Delay_ms(250);LedConnectedOff();Delay_ms(1000);}}NVIC_SystemReset(); }總結(jié)
以上是生活随笔為你收集整理的ARM Cortex-M3初探的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:吴东亚(1972-),女,中国电子
- 下一篇: 大数据驱动乡村振兴共享共治机制研究