stm8和stm32这里不同,51学来用惯了led=!led;到了stm32有原子哥得位带操作加宏也过得去,
但是到了stm8这玩意儿不支持位带操作,于是乎,百度一番。
大致有两个方法:
一.stvd环境
volatile _Bool PA_ODR_0 @PA_ODR:0;
#define LED PA_ODR_0
LED = 1;
LED = 0;
这些语句能通过编译少不了stvd环境得原因,我用的iar就过不了编译。
/zixunimg/eeworldimg/bbs.elecfans.com/jishu_453404_1_1.html
二.iar环境
个人觉得iar得库更偏向于使用寄存器,也懒得去啃一波寄存器了,
他的"iostm8xxx.h"里面提供了按位访问得接口,但是和st得库冲突了,有很多地方复定义了。
又想按位访问,又想用st得固件库。
于是乎,想了个折中的方法:我把重复的地方注释了还不行嘛
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』