嵌入式 C 语言:指针、位运算与寄存器操作思维

嵌入式 C 语言基础

一、指针:操作地址的钥匙

嵌入式开发最常做的事,就是读写寄存器地址

// 点亮 P1.0 口 LED
#define P1 ((volatile unsigned char *)0x90)
*P1 |= 0x01;

volatile 告诉编译器:该地址可能被硬件修改,不要优化掉读写。

二、位运算:寄存器的操作手法

操作 写法 说明
置位 `REG = (1 << 3)`
清位 REG &= ~(1 << 3) 位与取反
翻转 REG ^= (1 << 3) 异或
判断 if (REG & (1 << 3)) 读某一位

三、结构体指针的寄存器映射

MCU 厂商头文件把外设映射为结构体,如 GPIOA->ODR,本质仍是地址偏移访问。

小结

把“内存地址 + 位”这两件事想透,单片机代码就有了骨架。

评论(9)