在一個多任務嵌入式系統中,有一個CPU可直接尋址的32位寄存器REGn,地址爲0x1F000010,編寫一個安全的函數,將寄存器REGn的指定爲反轉,其他bit不變!
void bit_reverse(uint32_t nbit)
{
*((volatile unsigned int *)0x1F000010) ^= (0x01 << nbit);
}
void bit_reverse(uint32_t nbit)
{
*((volatile unsigned int *)0x1F000010) ^= (0x01 << nbit);
}
說明: 以下介紹示例的MCU地址空間如下: ROM空間爲:0x0000 0000 – 0x0000 8000 RAM空間爲:0x2000 0000 – 0x2000 2000
STM32中enumeration特殊使用方法 定義如下: /*! * STM32 Pin Names */ #define MCU