【发布时间】:2014-02-11 04:36:38
【问题描述】:
我正在使用 WinCE 7 Visual Studio 2008 并为 ALS (MAX44009) 编写驱动程序代码。我编写了以下代码来读取中断状态寄存器并在发生中断时显示消息。但是,它只随机工作几次。例如,当我用手关闭传感器时,我只收到几次消息,然后,即使它必须中断并继续循环,它也不会进入data==1 条件。阈值计时器为 0。AlsRegRead 函数执行 I2CRead。 pAlsDrvInfo 是驱动程序上下文。 ADD_ALS_INT_STATUS 是 0。 DumpAlsRegistry函数将打印除寄存器0x0之外的所有寄存器的内容。
while(1)
{
AlsRegRead(pAlsDrvInfo, ADD_ALS_INT_STATUS, &data, sizeof(UINT8));
if (data == 1)
{
DumpAlsRegistry(pAlsDrvInfo);
RETAILMSG(1,(L"Interrupt Received...\r\n"));
}
}
请指导我哪里出错了。
【问题讨论】:
标签: windows-ce sensors light ambient