參考
參考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 輸出為低電位
} |