stt.c
来自「包括EPA协议栈」· C语言 代码 · 共 44 行
C
44 行
#include "stt.h"
static PHDLR pit_hdlr;
static PHDLR rtt_hdlr;
void SttIntHandler(void);
void SttInt(void) {
uint32 state;
state = AT91C_BASE_ST->ST_SR;
if(state & AT91C_ST_ALMS) {
(*rtt_hdlr)();
}
if(state & AT91C_ST_PITS) {
(*pit_hdlr)();
}
}
void RegHdlr(uint32 prh, PHDLR hldr) {
if(prh == AT91C_ST_PITS) {
pit_hdlr = hldr;
}
if(prh == AT91C_ST_ALMS) {
rtt_hdlr = hldr;
}
}
void SttInit(void) {
uint32 state;
state = AT91C_BASE_ST->ST_SR;
AT91C_BASE_ST->ST_IDR = (AT91C_ST_PITS | AT91C_ST_WDOVF | AT91C_ST_RTTINC | AT91C_ST_ALMS);
AT91F_AIC_ConfigureIt(AT91C_BASE_ST,
AT91C_ID_SYS,
AT91C_AIC_PRIOR_HIGHEST,
AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE,
SttIntHandler);
AT91C_BASE_ST->ST_IER = (AT91C_ST_PITS | AT91C_ST_ALMS);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?