Laddie报警系统与日志记录详解
1. Laddie报警系统概述
Laddie报警系统是一个示例应用程序,它借助RTA和空守护进程构建了一个简单的报警守护进程 ladd 。该系统主要由几个关键的子程序组成,这些子程序协同工作以实现报警功能。
2. 初始化代码
以下是初始化部分的代码,其主要功能是打开并行端口、读取输入引脚的初始状态、设置控制端口的输出引脚,并设置轮询定时器。
if (ioperm(PORT,3,1)) {
fprintf(stderr, "Cannot open parallel port at %x\n", PORT);
exit(1);
}
outb((unsigned char)0x00FF, PORT);
/* Now read the input pins to get initial states */
value = inb(PORT+1);
for (i = 0; i < NUM_INPUTS; i++) {
Zone[i].input = (value & (8<<i)) ? 1 : 0;
}
/* Set the output pins on the control port low since we start
* in a "no-alarm" state. Set global alarm to match. */
outb((unsigned char)0x0000, PORT+2);
GlobalAlarm = 0;
/* Setup poll timer */
if (!ad
超级会员免费看
订阅专栏 解锁全文
24

被折叠的 条评论
为什么被折叠?



