static unsigned short get_reg_init_bus (int regno) { /* force 16 bit busmode */ volatile unsigned char c; c = cs8900_BUS16_0; c = cs8900_BUS16_1; c = cs8900_BUS16_0; c = cs8900_BUS16_1; c = cs8900_BUS16_0; cs8900_PPTR = regno; return (unsigned short) cs8900_PDATA; } 驱动刚开始为什么要反复给C赋值呢? 而且赋值之后 C变量在整个驱动中再也没有使用过