main.c文件:
#define rRCCAHB1CLKEN *((volatile unsigned long *)0x40023830)
#define rGPIOD_MODER *((volatile unsigned long *)0x40020C00)
#define rGPIOD_OTYPER *((volatile unsigned long *)0x40020C04)
#define rGPIOD_OSPEED *((volatile unsigned long *)0x40020C08)
#define rGPIOD_PUPDR *((volatile unsigned long *)0x40020C0C)
#define rGPIOD_ODR *((volatile unsigned long *)0x40020C14)
void led_init() //初始化;
{
unsigned long r;
//使能GPIOD这组的时钟
//rRCCAHB1CLKEN[4] -> GPIOD
// 1 -> enable clk 0 -> disable clk
rRCCAHB1CLKEN |= (1 << 3);
// PD0-3 -> 通用输出模式
// [07:00] 01010101
r = rGPIOD_MODER;
r &= ~(0xff << 0); //清零
r |= ((1 << 0) | (1 << 2) | (1 << 4) | (1 << 6)); //把PD0-3设置为01,即设置为输出模式
rGPIOD_MODER = r