初级会员
- 积分
- 62
- 金钱
- 62
- 注册时间
- 2016-6-4
- 在线时间
- 16 小时
|
1金钱
例程用的是这里的:http://www.openedv.com/posts/list/43643.htm
开机运行后显示正常,触摸光标也正常,但是在过一段时间后死机。
每次死机都是跑在demo:GUIDEMO_Speed 这里。
死机时画面是花屏,说明进入了下面for循环里挂掉的。
for (i = 0; i< 8; i++) {
aColorIndex = GUI_Color2Index(_aColor);
}
TimeStart = GUIDEMO_GetTime();
for (i = 0; ((GUIDEMO_GetTime() - TimeStart) < 5000) && (GUIDEMO_CheckCancel() == 0); i++) {
GUI_SetColorIndex(aColorIndex[i&7]);
//
// Calculate random positions
//
Rect.x0 = rand() % xSize - xSize / 2;
Rect.y0 = rand() % ySize - ySize / 2;
Rect.x1 = Rect.x0 + 20 + rand() % xSize;
Rect.y1 = Rect.y0 + 20 + rand() % ySize;
GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1);
//
// Clip rectangle to visible area and add the number of pixels (for speed computation)
//
if (Rect.x1 >= xSize) {
Rect.x1 = xSize - 1;
}
if (Rect.y1 >= ySize) {
Rect.y1 = ySize - 1;
}
if (Rect.x0 < 0 ) {
Rect.x0 = 0;
}
if (Rect.y1 < 0) {
Rect.y1 = 0;
}
GUI_Exec();
//
// Allow short breaks so we do not use all available CPU time ...
//
}
在hardfault中打印了fault寄存器的值:
CFSR: 8200
HFSR:40000000
DFSR:8
AFSR:0
我查了M4手册,HFSR值为40000000没有定义
DFSR在M4手册里也查不到定义。
|
|