M9020-N20I的MiniARM产品,CPU是LPC2290,,使用光盘中的工程模板,加入出厂简例GPIO的文件,
我把一部分贴出来:
“//GPIO
** Descriptions : 按键测试
** 检测按键KEY1是否按下,KEY1按下,蜂鸣器蜂鸣;松开,停止蜂鸣;
** 检测按键KEY2是否按下,KEY2按下,点亮LED9;松开,熄灭LED9;
”
“/*******************************************************************************************
** Function name: TASK0
** Descriptions : 检测按键KEY1是否按下,KEY1按下,蜂鸣器蜂鸣;松开,停止蜂鸣
** Input : 无
** Output : 无
*******************************************************************************************/
void TASK0(void *pdata)
{
pdata = pdata;
while (1) {
if (GpioGet(KEY1) == 0) { // 如果按下按键,蜂鸣器鸣叫
GpioSet(BUZZER);
OSTimeDly(OS_TICKS_PER_SEC/50); // 延时
} else {
GpioClr(BUZZER);
OSTimeDly(OS_TICKS_PER_SEC/50);
}
}
}
”
“
/*******************************************************************************************
** Function name: TASK1
** Descriptions : 检测按键KEY2是否按下,KEY2按下,点亮LED9;松开,熄灭LED9
** Input : 无
** Output : 无
*******************************************************************************************/
void TASK1(void *pdata)
{
pdata = pdata;
while (1) {
if (GpioGet(KEY2) == 0) { // 判断是否为底
GpioClr(LED9); // LED9 点亮
OSTimeDly(OS_TICKS_PER_SEC/50); // 延时
} else {
GpioSet(LED9); // LED9 熄灭
OSTimeDly(OS_TICKS_PER_SEC/50); // 延时
}
}
}
”
编译没有错误,通过JATG将生成的映像也可以下载到板子上,但是如果按下按键key1,蜂鸣器并没有鸣叫,板子为甚么会没有反应?
板子是新的,FLASH是SST39VF1601,CPU是LPC2290,FLASH start address设置的是0x80000000,RAM地址设置0x81000000,脚本设置如下:
Idx Cmd Width Address Value
1 Stemem 32-Bit 0xE002C014 0x0F814914
2 Stemem 32-Bit 0xFFE00000 0x1000FFEF
3 Stemem 32-Bit 0xFFE00004 0x1000FFEF
咋回事呢?而且我发现,在下载程序到板子后在AXD中Go,程序不会在断点main函数停下,而是一直运行,这种情况好像是无法运行到main。是不是ADS设置有问题?