网友陈官威发现了我书中软件定时器代码的一个bug,会造成定时的不准。
修改的方法是,在文件softtmr.c中,修改
struct TSOFTTIMER sfTMR[SOFTTIMER_CNT];
为
volatile struct TSOFTTIMER sfTMR[SOFTTIMER_CNT];
在文件softtmr.h中,修改
extern struct TSOFTTIMER sfTMR[SOFTTIMER_CNT];
为
extern volatile struct TSOFTTIMER sfTMR[SOFTTIMER_CNT];
同时在struct TSOFTTIMER中,将
volatile unsigned int cnt;
修改为
unsigned int cnt;
shaoziyang 2014-3-3 09:45
用户1696113 2014-3-1 09:04
shaoziyang 2013-7-9 09:51
飞言走笔 2013-7-5 17:25