免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

暫存器控制寫法範例

參考
參考2



*(unsigned int*)0x40010800 = *(unsigned int*)0x40010800 & ~(0x0F<<(4*4));  
*(unsigned int*)0x40010800 = *(unsigned int*)0x40010800 | (1<<16);  



/* GPIOA 16個引腳都輸出高電位 */
*(unsigned int*)(0x40020014) = 0xffff; // 單存操作暫存器地址

#define GPIOA_ODR *(unsigned*)0x40020014
GPIOA_ODR = 0xffff; // 使用暫存器映射




int main()
{
        *(unsigned int*)0x40021018 |=(1<<2);     //RCC_APB2ENR 時鐘
        *(unsigned int*)0x40010800 &= ~(0x0F<<(4*4));  //將GPIO_CLR的CNF4與MODE4(PA4)清為0
        *(unsigned int*)0x40010800 |= (1<<16);    // 將GPIO_CLR的CNF4與MODE4(PA4)的4Bit填上0001,將0001左移16位
        *(unsigned int*)0x4001080C amp;=~(1<<4);  // 將GPIOC_ODR 輸出為低電位
}
返回列表