OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5148|回复: 18

emWin使用函数GUI_QR_Create显示二维码内存足够但却创建失败

[复制链接]

18

主题

149

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2015-11-28
在线时间
208 小时
发表于 2020-11-4 16:52:50 | 显示全部楼层 |阅读模式
1金钱
内存用的是外部SDRAM。


#define GUI_NUMBYTES  (18*1024*1024)
U32 *aMemory = mymalloc(SRAMEX, GUI_NUMBYTES); //从外部SRAM中分配GUI_NUMBYTES字节的内存
GUI_ALLOC_AssignMemory((void*)aMemory, GUI_NUMBYTES);

GUI_X_Config里是如上如述。

  1. void cbMainWin(WM_MESSAGE* pMsg)
  2. {
  3.         WM_MOTION_INFO *pInfo;
  4.         static GUI_HMEM hQR;
  5.         switch (pMsg->MsgId) {
  6.         case WM_PAINT:
  7.                 GUI_SetBkColor(GUI_WHITE);
  8.                 GUI_Clear();

  9.                 GUI_SetColor(GUI_RED);
  10.                 GUI_SetPenSize(10);
  11.                 GUI_DrawLine(2, 0, 2, 230);
  12.                 GUI_DrawLine(322, 0, 322,230);
  13.                 _Draw2DKnob(0);
  14.                
  15.                 //GUI_DrawBitmap(&bmShutdown_48px, KNOB_XPOS + KNOB_XSIZE / 2 - bmShutdown_32px.XSize / 2, KNOB_YPOS + KNOB_YSIZE / 2 -bmShutdown_32px.YSize / 2);
  16.                 if (hQR == 0) {
  17.                         hQR = GUI_QR_Create("123", 1, GUI_QR_ECLEVEL_L, 0);
  18.                         if(hQR == 0){
  19.                                 printf("GUI_QR_Create error\r\n");
  20.                         }
  21.                 }
  22.                 GUI_QR_Draw(hQR, 200, 80);
  23.                 //GUI_DrawBitmap(&bmwifi_16pxNoCon, 300, 0);
  24.                 if (WM_GetWindowOrgX(pMsg->hWin) < 0) {
  25.                         WinNegativeFlg = 1;
  26.                 }
  27.                 else WinNegativeFlg = 0;

  28.                 GUI_DrawRect(KNOB_XPOS, KNOB_YPOS, KNOB_XPOS + KNOB_XSIZE, KNOB_YPOS + KNOB_YSIZE);
  29.                 break;
  30.         case WM_MOTION:
  31.                 pInfo = (WM_MOTION_INFO*)pMsg->Data.p;
  32.                 switch (pInfo->Cmd) {
  33.                 case WM_MOTION_INIT:
  34.                         pInfo->SnapX = 320;
  35.                         //pInfo->Flags = WM_MOTION_MANAGE_BY_WINDOW;
  36.                         //pInfo->Period = 1000;
  37.                         pInfo->Overlap = 50;
  38.                         break;
  39.                 }
  40.                 break;
  41.         default:
  42.                 WM_DefaultProc(pMsg);
  43.                 break;
  44.         }
  45. }
复制代码
在代码里是这么调用的,但是这段代码在模拟器里是可以正常运行的。但在STM32F429的硬件上就不能正常运行。有哪位大佬能指点一下吗、

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5136
金钱
5136
注册时间
2014-8-26
在线时间
1316 小时
发表于 2020-11-4 20:14:36 | 显示全部楼层
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-17 11:05:05 | 显示全部楼层
大侠你的问题解决了没有,
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-17 11:05:52 | 显示全部楼层
我现在有一种应用需求:主界面上点击一个按钮,切换到显示一个子界面,然后在这个子界面上,显示二维码,我尝试在子界面的初始化消息下,放置这段显示二维码的函数,程序直接就死机了。正确的做法,是什么,谢谢。


GUI_HMEM buff;
.
.
.
case WM_INIT_DIALOG:
         buff = GUI_QR_Create("hello world!", 4, GUI_QR_ECLEVEL_Q, 0);   //生成qr代码的句柄

         GUI_QR_Draw(buff, 5, 5);                                                       //显示二维码

         GUI_QR_Delete(buff);                                                  //释放存储二维码的内存空间
.
.
.
break;

回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-17 11:09:13 | 显示全部楼层
emwin5.44手册,8.1.13中二维码绘制函数
QR.JPG
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-18 09:04:31 | 显示全部楼层
我这个也是这样在Vs2019上仿真是对的,可以显示,移植到板子上,就死机了,
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-18 09:09:46 | 显示全部楼层
移植结果,不知道这其中的本质原因是什么
QR1.jpg
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-18 09:12:04 | 显示全部楼层
移植结果,不知道这其中的本质原因是什么
QR1-1.jpg
QR1-2.jpg
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-18 09:17:33 | 显示全部楼层
不知道这是为什么,非常的奇怪,
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-18 09:18:48 | 显示全部楼层
直接发.C文件失败

sub没有用到.rar

5.15 KB, 下载次数: 2

回复

使用道具 举报

18

主题

149

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2015-11-28
在线时间
208 小时
 楼主| 发表于 2020-11-18 16:21:31 | 显示全部楼层
jinniuxing 发表于 2020-11-18 09:17
不知道这是为什么,非常的奇怪,

我也不知道是为啥,奇怪死了。你重新移植个lib看看。
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-19 21:00:50 | 显示全部楼层
yconnor 发表于 2020-11-18 16:21
我也不知道是为啥,奇怪死了。你重新移植个lib看看。

我这个现在可以显示了
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-19 21:02:57 | 显示全部楼层
但是,还是有个问题第一次不显示,到第二次才显示
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-20 09:43:02 | 显示全部楼层
我现在成功显示了二维码:1.不在初始化消息下创建和绘制,2.在按钮释放消息下创建并绘制QRCode,3.同时在WM_PAINT消息下绘制,这样就成功显示了二维码
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-20 09:51:21 | 显示全部楼层
  1. /*********************************************************************
  2. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  3. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160; SEGGER Microcontroller GmbH & Co. KG&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160; *
  4. *&#160; &#160;&#160; &#160;&#160;&#160;Solutions for real time microcontroller applications&#160; &#160;&#160; &#160;&#160;&#160;*
  5. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  6. **********************************************************************
  7. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  8. * C-file generated by:&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  9. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  10. *&#160; &#160;&#160; &#160;&#160;&#160;GUI_Builder for emWin version 5.30&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  11. *&#160; &#160;&#160; &#160;&#160;&#160;Compiled Jul&#160;&#160;1 2015, 10:50:32&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;*
  12. *&#160; &#160;&#160; &#160;&#160;&#160;(c) 2015 Segger Microcontroller GmbH & Co. KG&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;*
  13. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  14. **********************************************************************
  15. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  16. *&#160; &#160;&#160; &#160;&#160;&#160;Internet: www.segger.com&#160;&#160;Support: support@segger.com&#160; &#160;&#160; &#160; *
  17. *&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;*
  18. **********************************************************************
  19. */

  20. // USER START (Optionally insert additional includes)
  21. // USER END

  22. #include "DIALOG.h"

  23. /*********************************************************************
  24. *
  25. *&#160; &#160;&#160; &#160; Defines
  26. *
  27. **********************************************************************
  28. */
  29. #define ID_FRAMEWIN_0 (GUI_ID_USER + 0x00)
  30. //#define ID_TEXT_0 (GUI_ID_USER + 0x01)
  31. #define ID_BUTTON_0 (GUI_ID_USER + 0x02)


  32. // USER START (Optionally insert additional defines)
  33. // USER END

  34. /*********************************************************************
  35. *
  36. *&#160; &#160;&#160; &#160; Static data
  37. *
  38. **********************************************************************
  39. */

  40. // USER START (Optionally insert additional static data)
  41. // USER END

  42. /*********************************************************************
  43. *
  44. *&#160; &#160;&#160; &#160; _aDialogCreate
  45. */
  46. static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  47. &#160;&#160;{ FRAMEWIN_CreateIndirect, "FramewinMain", ID_FRAMEWIN_0, 0, 0, 320, 240, 0, 0x0, 0 },
  48. &#160;&#160;//{ TEXT_CreateIndirect, "Text", ID_TEXT_0, 2, 0, 300, 16, 0, 0x0, 0 },
  49. &#160;&#160;{ BUTTON_CreateIndirect, "Return", ID_BUTTON_0, 115, 170, 80, 30, 0, 0x0, 0 },
  50. &#160;&#160;// USER START (Optionally insert additional widgets)
  51. &#160;&#160;// USER END
  52. };

  53. /*********************************************************************
  54. *
  55. *&#160; &#160;&#160; &#160; Static code
  56. *
  57. **********************************************************************
  58. */

  59. /*
  60. // USER START (Optionally insert additional static code)
  61. static void GUI_renew_gui_memory(WM_HWIN hParent, int textID)
  62. {
  63. &#160;&#160;char buff[48];
  64. &#160;&#160;sprintf(buff, "Memory used: %dKBytes&#160;&#160;free: %dKBytes", GUI_ALLOC_GetNumUsedBytes()/1024, GUI_ALLOC_GetNumFreeBytes()/1024);
  65. &#160;&#160;//TEXT_SetTextColor(WM_GetDialogItem(hParent, textID), (0x008000FF));
  66. &#160;&#160;TEXT_SetText(WM_GetDialogItem(hParent, textID), buff);
  67. }*/
  68. // USER END

  69. /*********************************************************************
  70. *
  71. *&#160; &#160;&#160; &#160; _cbDialog
  72. */
  73. static void _cbDialog(WM_MESSAGE * pMsg) {
  74. &#160;&#160;WM_HWIN hItem, hWinOld;
  75. &#160;&#160;int&#160; &#160;&#160;&#160;NCode;
  76. &#160;&#160;int&#160; &#160;&#160;&#160;Id;
  77. &#160;&#160;// USER START (Optionally insert additional variables)
  78. &#160;&#160;static GUI_HMEM hMem[3] = {0, 0, 0};
  79. &#160;&#160;// USER END

  80. &#160;&#160;switch (pMsg->MsgId) {
  81. &#160;&#160;case WM_INIT_DIALOG:
  82. &#160; &#160; //
  83. &#160; &#160; // Initialization of 'FramewinMain'
  84. &#160; &#160; //
  85. &#160; &#160; //hItem = pMsg->hWin;
  86. &#160; &#160; //FRAMEWIN_SetTitleHeight(hItem, 16);
  87. &#160; &#160; //
  88. &#160; &#160; // Initialization of 'Text'
  89. &#160; &#160; //
  90. &#160; &#160;// hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
  91. &#160; &#160; //TEXT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER);
  92. &#160; &#160; // USER START (Optionally insert additional code for further widget initialization)
  93. &#160; &#160;// FRAMEWIN_SetMoveable(pMsg->hWin, 1);
  94. &#160; &#160;// FRAMEWIN_SetTitleHeight(pMsg->hWin, 16);
  95. &#160; &#160;// FRAMEWIN_AddCloseButton(pMsg->hWin, FRAMEWIN_BUTTON_RIGHT, 0);
  96. &#160; &#160;// FRAMEWIN_AddMaxButton(pMsg->hWin, FRAMEWIN_BUTTON_RIGHT, 0);
  97. &#160; &#160;// FRAMEWIN_AddMinButton(pMsg->hWin, FRAMEWIN_BUTTON_RIGHT, 0);

  98. &#160; &#160; //不能重复创建,否则内存越占越多(比如不能放在WM_PAINT消息中)
  99. //&#160; &#160; if(!hMem[0]) hMem[0] = GUI_QR_Create("http://www.neqee.com/", 4, GUI_QR_ECLEVEL_L, 0);&#160; &#160;//(1):屏蔽此段而保留下面的 WM_PAINT:下的显示函数,二维码显示不成功;得出必须同时保留这两部分才能显示,
  100. //&#160; &#160; if(!hMem[1]) hMem[1] = GUI_QR_Create("http://www.baidu.com/", 3, GUI_QR_ECLEVEL_L, 0);
  101. //&#160; &#160; if(!hMem[2]) hMem[2] = GUI_QR_Create("http://www.segger.com/", 2, GUI_QR_ECLEVEL_L, 0);

  102. &#160; &#160; //GUI_renew_gui_memory(pMsg->hWin, ID_TEXT_0);//Update memory usage. Note: It also needs to be executed where memory changes.
  103. &#160; &#160; // USER END
  104. &#160; &#160; break;
  105. &#160;&#160;case WM_NOTIFY_PARENT:
  106. &#160; &#160; Id&#160; &#160; = WM_GetId(pMsg->hWinSrc);
  107. &#160; &#160; NCode = pMsg->Data.v;
  108. &#160; &#160; switch(Id) {
  109. &#160; &#160; case ID_BUTTON_0: // Notifications sent by 'Return'
  110. &#160; &#160;&#160; &#160;switch(NCode) {
  111. &#160; &#160;&#160; &#160;case WM_NOTIFICATION_CLICKED:
  112. &#160; &#160;&#160; &#160;&#160;&#160;// USER START (Optionally insert code for reacting on notification message)
  113. &#160; &#160;&#160; &#160;&#160;&#160;// USER END
  114. &#160; &#160;&#160; &#160;&#160;&#160;break;
  115. &#160; &#160;&#160; &#160;case WM_NOTIFICATION_RELEASED:
  116. &#160; &#160;&#160; &#160;&#160;&#160;// USER START (Optionally insert code for reacting on notification message)
  117. &#160; &#160;&#160; &#160;&#160; &#160; //GUI_EndDialog(pMsg->hWin, 0);&#160; &#160;&#160; &#160;&#160; &#160; //2020-9-18 结束本对话框
  118. &#160; &#160;&#160; &#160;&#160; &#160; //CreateWindowBkgd(WM_HBKWIN);&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;//2020-9-18
  119. &#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;
  120. &#160; &#160; &#160; &#160;&#160; &#160;&#160; &#160; //hWinOld = WM_SelectWindow(WM_GetClientWindow(pMsg->hWin));
  121. &#160; &#160; &#160; &#160;&#160; &#160;&#160; &#160; hMem[0] = GUI_QR_Create("http://www.baidu.com/", 4, GUI_QR_ECLEVEL_L, 0);&#160;&#160;
  122. &#160; &#160; &#160; &#160;&#160; &#160;&#160; &#160; GUI_QR_Draw(hMem[0], 10, 30);
  123. &#160; &#160; &#160; &#160;&#160; &#160;&#160; &#160; //WM_SelectWindow(hWinOld);
  124. &#160; &#160; &#160; &#160;&#160; &#160;
  125. &#160; &#160; &#160; &#160;&#160;&#160;&#160; &#160; &#160; &#160;&#160; &#160; GUI_EndDialog(pMsg->hWin, 0);&#160; &#160;&#160; &#160;&#160; &#160; //2020-9-18 结束本对话框
  126. &#160; &#160; &#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;CreateFramewin();&#160;&#160;
  127. &#160; &#160; &#160; &#160;&#160; &#160;// USER END
  128. &#160; &#160;&#160; &#160;&#160;&#160;break;
  129. &#160; &#160;&#160; &#160;// USER START (Optionally insert additional code for further notification handling)
  130. &#160; &#160;&#160; &#160;// USER END
  131. &#160; &#160;&#160; &#160;}
  132. &#160; &#160;&#160; &#160;break;
  133. &#160; &#160; // USER START (Optionally insert additional code for further Ids)
  134. &#160; &#160; // USER END
  135. &#160; &#160; }
  136. &#160; &#160; break;
  137. &#160;&#160;// USER START (Optionally insert additional message handling)
  138. &#160;&#160;//窗口重绘消息,这个比较难说明白,反正在Framewin或Window窗口之中我们一般是用控件,如果要在Framewin或Window窗口之中显示文字或绘制直线、矩形、圆等在这里实现.
  139. &#160;&#160;//Window redraw message, this is difficult to explain,anyway,we usually use widget in framewin or windows,If we want to draw lines,rectangles,circles,etc. in framewin or windows,we can do it here.
  140. &#160;&#160;
  141. &#160; &#160; case WM_PAINT:&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160; &#160;&#160;&#160;//2020-11-17 (2):屏蔽此段保留上面的创建,就不显示二维码了
  142. &#160; &#160; GUI_SetColor(GUI_BLUE);
  143. &#160; &#160; GUI_DispStringAt("http://www.baidu.com/", 2, 18);
  144. &#160; &#160; GUI_QR_Draw(hMem[0], 10, 30);

  145. //&#160; &#160; GUI_SetColor(GUI_GREEN);
  146. //&#160; &#160; GUI_DispStringAt("http://www.baidu.com/", 170, 18);
  147. //&#160; &#160; GUI_QR_Draw(hMem[1], 190, 30);

  148. //&#160; &#160; GUI_SetColor(GUI_RED);
  149. //&#160; &#160; GUI_DispStringAt("http://www.segger.com/", 170, 135);
  150. //&#160; &#160; GUI_QR_Draw(hMem[2], 210, 148);
  151. &#160; &#160; break;&#160;&#160;
  152. &#160;&#160;// USER END
  153. &#160;&#160;default:
  154. &#160; &#160; WM_DefaultProc(pMsg);
  155. &#160; &#160; break;
  156. &#160;&#160;}
  157. }

  158. /*********************************************************************
  159. *
  160. *&#160; &#160;&#160; &#160; Public code
  161. *
  162. **********************************************************************
  163. */
  164. /*********************************************************************
  165. *
  166. *&#160; &#160;&#160; &#160; CreateFramewinMain
  167. */
  168. WM_HWIN CreateFramewinQRCode(void);
  169. WM_HWIN CreateFramewinQRCode(void) {
  170. &#160;&#160;WM_HWIN hWin;

  171. &#160;&#160;hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
  172. &#160;&#160;return hWin;
  173. }

  174. // USER START (Optionally insert additional public code)
  175. // USER END

  176. /*************************** End of file ****************************/
复制代码
微信图片_20201120094420.jpg
微信图片_20201120094511.jpg
微信图片_20201120094516.jpg
微信图片_20201120094524.jpg
微信图片_20201120094539.jpg
回复

使用道具 举报

18

主题

149

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2015-11-28
在线时间
208 小时
 楼主| 发表于 2020-11-20 13:07:04 | 显示全部楼层

你这是乱码了咋滴,我反正是换了一个库,然后就可以了。
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-20 14:20:18 | 显示全部楼层
yconnor 发表于 2020-11-20 13:07
你这是乱码了咋滴,我反正是换了一个库,然后就可以了。

你换的是.lib库吗?
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-20 14:21:05 | 显示全部楼层
我没有换库,还是emwin5.44的.a,就是按照上面的1,2,3,达到显示的效果。复制代码通过回复栏的"<>"项发上来,就成乱码了。
回复

使用道具 举报

18

主题

149

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2015-11-28
在线时间
208 小时
 楼主| 发表于 2020-11-20 16:17:10 | 显示全部楼层
jinniuxing 发表于 2020-11-20 14:20
你换的是.lib库吗?

不是.lib的是用的STemWin_CM4_OS_wc16_ot.a 这个是带优化和OS的。也不知道是不是这个原因
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 09:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表