• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STemwin移植到SMM32的gui_Init函数中卡死

daheix 2016-12-12 浏览量:3986

已经是能了CRC时钟,但是还是无法继续运行;

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

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

}delay_ms(20);
}
}



0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不使用GUI时,是否可以正常显示,先调不使用GUI的,GUI也不过是做了几个驱动接口的函数。

    你的RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);怎么注释了?

    GUI_Init()函数,按顺序调用了GUI_X_Config()、LCD_X_Config()和LCD_X_DisplayDriver(),你在这几个函数里设置断点看看。

    把你的硬件的连接图贴一部分出来,你LCD的连接方式是什么样的。

    • 发布于 2016-12-12
    • 举报
    • 评论 1
    • 0
    • 0
Jenashui 回复了 汉云:1.0招聘岗位:ARM工程师(8—12K) 2.0 任职资格 2.1 教育背景:大专或以上学历,电子信息工程相关专业; 2.2 工作经验:二年以上电子行业控制系统相关经验; 2.3 知识要求:熟练使用keil ,MDK,熟悉嵌入式系统移植,熟悉硬件开发,熟练使用STM32单片机开发产品,有上位机开发经验,有网络产品开发经验。 2.4 能力要求:思维敏捷、果断,逻辑性、数字观念强,适应一定的工作压力。 3.0 岗位职责 3.1公司新项目软件部分立项评估; 3.2 新产品的软件方案流程图设计及软件验证;(《软件设计流程图》《设计验证报告》) 3.3 新产品软件设计; (《新产品开发进度表》) 3.4公司软件说明书与软件测试说明书的编写与归档; (《产品软件使用说明书》,《产品测试说明书》) 3.5 公司旧产品软件的维护与升级; 4.0 相关待遇 1、5.5天7.5小时工作制,假期跟国家同步。 2、提供吃住,住宿舒适2—4人间,宿舍有热水器、网线、风扇,吃饭每天三餐两荤一素一汤只需10元。 3、全勤奖30元/月,有年终奖,每年均有调薪机会。 4、季度部门活动经费1000元,每月评比优秀员工,奖励200元/次。 5、员工社保,过节过生日礼品发放,员工活动丰富多彩。 6、每年端午节有一次全员省内旅游活动,放松您的身心。 7、完善的晋升机制,岗位有发展前景。 8、办公环境良好,工作气氛好,管理人性化。 9、公司职员均有培训,能力提升速度快。 10、高层尊重体恤员工劳动成果,让您得到足够重视。 我们对每份简历都会认真查阅,面试请带上毕业证,欢迎您投递简历或来电咨询。 回复

其他答案 数量:5

  •    GUI_Init();   这个函数要放出来看看才晓得哇
    • 发布于2016-12-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 嗨,您的Code,關於RCC的初始化和設置應該要放在最前面才對,後面才對各個外設啟用RCC時鐘

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

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

    • 发布于2016-12-13
    • 举报
    • 评论 1
    • 0
    • 0
MOP 回复了 MOP : //printf("RCC_DeInit done\r\n"); 這可以拿掉,因為uart還沒初始化 回复

  •   RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE); //使能校验

     这个要打开,我看你代码屏蔽掉了呢

     另外,你首先测试一下屏的底层代码是否可以,打点函数,如果屏底层打点不对,emwin的 CONF文件配置不对,也会出现启动死机。

    • 发布于2016-12-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 1.0招聘岗位:ARM工程师(8—12K)

    2.0 任职资格

     2.1 教育背景:大专或以上学历,电子信息工程相关专业;

     2.2 工作经验:二年以上电子行业控制系统相关经验;

     2.3 知识要求:熟练使用keil ,MDK,熟悉嵌入式系统移植,熟悉硬件开发,熟练使用STM32单片机开发产品,有上位机开发经验,有网络产品开发经验。

     2.4 能力要求:思维敏捷、果断,逻辑性、数字观念强,适应一定的工作压力。

    3.0 岗位职责

     3.1公司新项目软件部分立项评估;        

     3.2 新产品的软件方案流程图设计及软件验证;(《软件设计流程图》《设计验证报告》)

    3.3 新产品软件设计; (《新产品开发进度表》)

     3.4公司软件说明书与软件测试说明书的编写与归档; (《产品软件使用说明书》,《产品测试说明书》)

     3.5 公司旧产品软件的维护与升级;

    4.0 相关待遇

    1、5.5天7.5小时工作制,假期跟国家同步。

    2、提供吃住,住宿舒适2—4人间,宿舍有热水器、网线、风扇,吃饭每天三餐两荤一素一汤只需10元。
    3、全勤奖30元/月,有年终奖,每年均有调薪机会。

    4、季度部门活动经费1000元,每月评比优秀员工,奖励200元/次。
    5、员工社保,过节过生日礼品发放,员工活动丰富多彩。
    6、每年端午节有一次全员省内旅游活动,放松您的身心。

    7、完善的晋升机制,岗位有发展前景。

    8、办公环境良好,工作气氛好,管理人性化。

    9、公司职员均有培训,能力提升速度快。

    10、高层尊重体恤员工劳动成果,让您得到足够重视。

    我们对每份简历都会认真查阅,面试请带上毕业证,欢迎您投递简历或来电咨询。

    • 发布于2016-12-21
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STemwin移植到SMM32的gui_Init函数中卡死