|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我在rt_hw_board_init函数里面对外设还有我的板子上的一些模块进行初始化,有些模块需要进行微秒延时或者毫秒延时,但是我配置了定时器以后发现延时函数进不了中断,后来发现是系统启动前关闭了总中断导致的,如下:4 ]# Y8 G6 `( Z& R7 y1 z
2 b* S! B; u) O5 e7 w6 C- L9 ^. w
int rtthread_startup(void)
: x' ~9 J) L7 h4 u4 O, @! H* ]' E{
7 w# _" u# T: h) Crt_hw_interrupt_disable();//关闭了总中断导致无后面的定时器无法进入中断服务程序/ r" c" K4 @, g2 z
/* board level initialization7 M8 q7 I, O6 K: J5 X
3 a0 c+ R3 l( J/ O* B2 W$ NNOTE: please initialize heap inside board initialization.
% _. H; g# P% w0 S" B; i/! ]3 Y4 P) N- ~, ~' \, @$ ], g
rt_hw_board_init();1 }; V- C1 u; E5 J5 w+ f
/ show RT-Thread version */, s4 j1 e# S( M9 r& d* A
rt_show_version();
& b9 ^8 V6 Y q6 U...* L( M- A2 t0 C. ~4 V
所以问题来了,如果我想在系统启动前调用延时函数怎么处理呢?改成不用中断的延时函数?还是说把模块的初始化放到系统启动以后去进行?
" ?) h3 B6 s1 W3 x1 l% v, O |
|