|
#define READ_REG(a) (*(volatile unsigned short far*)(a))
printf("HCONFIG = %#x\r\n", READ_REG(HCONFIG));
printf("PCONFIG = %#x\r\n", READ_REG(PCONFIG));
printf("SCLOCK = %#x\r\n", READ_REG(SCLOCK));
printf("VER = %#x\r\n", READ_REG(VER));
得到的结果是
HCONFIG = 0x101
PCONFIG = 0x671
SCLOCK = 0x671
VER = 0x671
但正确的应该是这样的:
HCONFIG = 0x101
PCONFIG = 0x671
SCLOCK = 0x3
VER = 0x44
如果我只printf一个寄存器的内容,结果是OK的,如:
printf("SCLOCK = %#x\r\n", READ_REG(SCLOCK));
结果是:
SCLOCK = 0x3
但是同时连续printf时却出现问题了。为什么呢? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|