状态寄存器:为什么它不能正常工作

时间:2018-04-19 14:35:05

标签: c hardware status-register

一块硬件具有一个字节的状态寄存器。寄存器的LSB是“忙”位。在写入器件中的任何寄存器之前,驱动程序必须等待该位清零。请考虑以下代码:

char p = remap(MEM_PCI, REG_BASE_ADDRESS, REG_SIZE); 
while (*p & 1);
/ write to hardware */ 

代码不起作用。通常,驱动程序会等待硬件“准备就绪”。请列出可能发生这种情况的原因。

0 个答案:

没有答案