我在HEW中写了一个简单的控制IO口输出高低电平的试验,在调试的时候,发现变量可以正常变化,寄存器却一直未变。大家帮忙看看哪出问题了,先谢过了!
硬件环境: CPU:H8S2166 仿真器:E10A
新建工程的时候选择“Application”,配置选项如下:
CPU family:H8S,H8/300,Tool chain:Hitachi H8S,H8/300 Standard;
Toolchain version:6.1.3.0,CPU Series:2000,CPU Type:2168F;
Targets:H8S/2168F E10A-USB SYSTEM(CPU 2000);
其他的都是默认设置。
代码:
#define P2DDR (*(volatile unsigned long *)0xFFB1) /* P2DDR Address*/
#define P2DR (*(volatile unsigned long *)0xFFB3) /* P2DR Address*/
void main(void)
{
int i = 0;
P2DDR = 0x08;
while(1)
{
P2DR = 0x00;
i++;
if(i>100)
{
i = 0;
P2DR = 0x08;
}
}
}
我按照仿真器用户手册上的说明,连接仿真器后,Download .abs文件之后,就可以单步执行程序了。在执行过程中发现:变量i的值可以正确地变化,而寄存器的值却一直未变,板子上也没有什么反应。
是不是对寄存器还需要什么初始化操作,或者HEW还需要注意哪些设置?