高级会员

- 积分
- 615
- 金钱
- 615
- 注册时间
- 2011-11-7
- 在线时间
- 180 小时
|
看了看《Cortex-M3指南》后,对关于位段(位带)也知道大概是怎么回事了。再看看了手册,原来STM32所有的变量都是在最低的那1M里面(我原来想的也应该是这样的,哈哈),
别说我马后炮哈!!
那么既然IO口可以实现位操作,那么对于变量来说也是肯定可以的。
试了一下-----------------------------
u32 temp;
BIT_ADDR( (u32)&temp, 1 ) = 1;
编译一下,哇!错误!以前看过AVR的,再试一下
volatile u32 temp;
BIT_ADDR( (u32)&temp, 1 ) = 1;
哈哈,编译通过!!调试一下,找出Watch窗口,看一下变量的值,完全正确。
越来越喜欢STM32了。
另外,如果有人喜欢像AVR那样的,。下面这段也许可以直接复制去使用!
#define PA0 0
#define PA1 1
#define PA2 2
#define PA3 3
#define PA4 4
#define PA5 5
#define PA6 6
#define PA7 7
#define PA8 8
#define PA9 9
#define PA10 10
#define PA11 11
#define PA12 12
#define PA13 13
#define PA14 14
#define PA15 15
#define PB0 0
#define PB1 1
#define PB2 2
#define PB3 3
#define PB4 4
#define PB5 5
#define PB6 6
#define PB7 7
#define PB8 8
#define PB9 9
#define PB10 10
#define PB11 11
#define PB12 12
#define PB13 13
#define PB14 14
#define PB15 15
#define PC0 0
#define PC1 1
#define PC2 2
#define PC3 3
#define PC4 4
#define PC5 5
#define PC6 6
#define PC7 7
#define PC8 8
#define PC9 9
#define PC10 10
#define PC11 11
#define PC12 12
#define PC13 13
#define PC14 14
#define PC15 15
#define PD0 0
#define PD1 1
#define PD2 2
#define PD3 3
#define PD4 4
#define PD5 5
#define PD6 6
#define PD7 7
#define PD8 8
#define PD9 9
#define PD10 10
#define PD11 11
#define PD12 12
#define PD13 13
#define PD14 14
#define PD15 15
|
|