> count = (reg->count_hi & 0xff) | > (reg->count_mid & 0xff) | > (reg->count_low & 0xff); > >とかしてますが、 hi と mid の値は左 shift してから >OR してやらないといけないような…… あう。とーぜん count = (reg->count_hi & 0xff) << 16 | (reg->count_mid & 0xff) << 8 | (reg->count_low & 0xff); でなくてはいけません。直しといてください。:-) # これを直しても症状はかわらないと思うけど…。