嵌入式学习小组
直播中

谢昌火

7年用户 186经验值
私信 关注

STemwin移植到SMM32的gui_Init函数中卡死是为什么?

已经是能了CRC时钟,但是还是无法继续运行;
int main(void)
{     
    u8 i=0;        
    uart_init(72,9600); //串口初始化为9600
    printf("******STemWin start*****rn");
    printf("uart_init donern");
    delay_init(72);   //延时初始化
    printf("delay_init donern ");
    LED_Init();   //初始化与LED连接的硬件接口
    printf("LED_Init donern ");
    LCDx_Init(); //初始化LCD
    LCD_ShowString(100,100,200,200,16,"TEST");//显示清屏区域
    printf("LCDx_Init donern ");
    KEY_Init(); //按键初始化
    printf("KEY_Init donern ");
    tp_dev.init(); //触摸屏初始化
    printf("tp_dev.init donern ");
    POINT_COLOR=RED; //设置字体为红色
    /********************************************************
    *
    *针对STemWin必须得开启
    *使能CRC时钟,STemWin需要开启CRC时钟,要不无法正常启动
    *
    */
    //初始化
    RCC_DeInit();
    printf("RCC_DeInit donern");
    //RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
    printf("1 begin gui-initrn"); //目前打印到这里就结束了,后面没有打印了。
    GUI_Init();
    printf("2 done gui-initrn");
    GUI_DispString("Hello STemWin!rn");
    printf("3GUI_DispString donern");

    while(1)
{
i++;
if(i%20 == 0)
{
LED0=!LED0;
            printf("led change :  %drn",i);

}delay_ms(20);
}
}



回帖(5)

宋玉红

2020-5-21 13:08:19
云汉达人
把栈的值改大些。
举报

鲍淑君

2020-5-21 13:24:35
云汉达人
   GUI_Init();   这个函数要放出来看看才晓得哇
举报

郑雅颖

2020-5-21 13:40:04
嗨,您的Code,關於RCC的初始化和設置應該要放在最前面才對,後面才對各個外設啟用RCC時鐘


int main() { u8 i=0; //初始化 RCC_DeInit(); printf("RCC_DeInit donern"); uart_init(72,9600); ... ... ...
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
printf("1 begin gui-initrn");
  GUI_Init();
...
...

以上嘗試看看,還有狀況的話可能要提供整份工程比較好Debug
举报

陈菊羽

2020-5-21 13:56:34
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE); //使能校验
 这个要打开,我看你代码屏蔽掉了呢
 另外,你首先测试一下屏的底层代码是否可以,打点函数,如果屏底层打点不对,emwin的 CONF文件配置不对,也会出现启动死机。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分