摘要:
@2018-12-28 【小记】 callback(obj) 与 obj.callback 的使用环境 相同:callback(obj) 适用于所有数据对象都有相似的处理方式,优点是数据对象都使用同一框架,简单高效省空间 相异:obj.callback 适用于每个数据对象都有独自的处理方式,优点是针 阅读全文
摘要:
@2018-12-25 【小记】 代码变量、函数命名神奇网站: https://unbug.github.io/codelf/ 阅读全文
摘要:
@2012-12-24 【小记】 函数调用未发生时,编译系统并没有给函数的形参分配实际内存空间,因此没有实际的参数值。 只有发生了函数的实际调用时,才给函数的各形参分配存储空间,同时将实参的值依次传递给各形参,函数调用结束后,系统释放形参所占用的存储单元。 【参考】 《面向对象程序设计与VC++》 阅读全文
摘要:
@2018-12-21 【小记】 创建工程步骤: a. File > New File or Project > Non-Qt Project > Plain C Application b. 选择创建路径及命名项目 > 选择qmake > 选中Select all kits > 完成 c. 右键工 阅读全文
摘要:
@2018-12-21 【小记】 在当前窗口P创建一新窗口C后再使用函数 WM_DeleteWindow 删除该C窗口时,删除窗口句柄必须是根句柄,否则使用 WM_GetClientWindow(pMsg->hWin) 将会导致死机的现象 阅读全文
摘要:
@2018-12-17 【小记】 SES 使用全局搜索时,变量所在的头文件没有被检索出来,选中检索属性中的 Dependencies 就可以了 阅读全文
摘要:
@2018-12-11 【小记】 例:定时器事件到来后切换至某个界面, 即在原始界面上发生跳转,在新界面上可返回至原始界面,可使用如下方法: a,在定时器事件发生后给原始界面中的自定义消息响应发送一条该自定义消息 b,在该自定义消息中做界面切换,这就给新创建的窗口指定了父窗口,使其之后有家可回 阅读全文
摘要:
@2018-12-11 【小记】 设计界面中使用了 EDIT 控件,但在其初始化语句中误使用了 text-color 属性API,导致了控件 EDIT 中的 Text 无法显示,具体如下 1 hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0); 2 TEX 阅读全文
摘要:
@2018-12-10 【小记】 使用官方 <GUIBuilder.exe> 软件里的 Image 控件,注意格式为 .bmp,这种方式是将图片数据直接转为十六进制数据存储至静态区 具体使用方法见其生成的 .c 文件 阅读全文
摘要:
@2018-11-29 创建文件夹出现如下提示 mkdir: can't create directory 'test': Read-only file system 使用命令 mount rw -o remount / 即可解决 阅读全文
摘要:
@2018-11-22 # 1 新建工程创建两个原理图文件 # 2 在主层级原理图中放置 Place Sheet Symbol,在其属性页面的 Source 栏下的 File Name 选择子层级原理图,在 Sheet Entries 栏可添加原理图入口 # 3 在菜单 Tools 选择 Up/Do 阅读全文
摘要:
@2018-11-8 【小记】 【需求】 官方只提供圆角矩形图形,其他图形及颜色需求则要自己实现 【注意】 通过回调函数自实现的图形绘制存在该回调函数一直被调用的现象,而非像窗口回调函数中 BUTTON 事件的单次触发型,所以在自实现的 BUTTON 回调好函数中需要单次执行的部分,则需额外注意 阅读全文
摘要:
@2018-11-1 字符串组成的数组存放于指针数组中,使用 sizeof 获取数组大小 【验证】 【结果】 阅读全文
摘要:
@2018-10-31 【需求】 界面上绘制状态指示图标 【方法】 --① 方法一 外部存储介质上的图标读写与显示 i . 将要显示的图标使用官方软件<BmpCvt.exe>转换成 ".dta"格式的文件 ii . 将 ".dta"格式的文件写入外部存储介质 iii. 将 ".dta"格式的文件读出 阅读全文
摘要:
@2018-10-31 负数的左右移位(变量自移位) 验证代码 阅读全文
摘要:
@2018-10-29 【问题】 类型指针 Type_t *p; 类型数组 Type_t array[10]; p = &Type_t array[5]; p - &Type_t array[10] = ? 计算结果是地址差还是对象个数? 【结果】 验证代码如下: 结果是 5,对象个数 阅读全文
摘要:
@2018-10-24 结构体函数指针成员与函数指针类型的结构体类型形参的相互嵌套定义及使用问题 具体代码 阅读全文
摘要:
@2018-10-23 具体代码 阅读全文
摘要:
@2018-10-19 【方法】 巧妙利用0大小数组 char temp[0] = "This is test string!"; 编译结果: error: #144: a value of type "char [21]" cannot be used to initialize an entit 阅读全文
摘要:
@2018-10-15 导致死机的代码示例如下 1 /** 2 * @brief widget ID define 3 * @{ 4 */ 5 6 #define ID_WINDOW_0 (GUI_ID_USER + 0x00) 7 #define ID_TEXT_0 (GUI_ID_USER + 阅读全文
摘要:
@2018-09-28 code 阅读全文
摘要:
位置式、增量式PID算法C语言实现 芯片:STM32F107VC 编译器:KEIL4 作者:SY 日期:2017-9-21 15:29:19 概述 PID 算法是一种工控领域常见的控制算法,用于闭环反馈控制。有以下两种分类: 增量式 每次周期性计算出的 PID 为增量值,是在上一次控制量的基础上进行 阅读全文
摘要:
@2018-09-05 【小记】 LISTWHEEL控件的LISTWHEEL_SetPos函数的使用注意事项: 该函数不能在创建窗口的WM_INIT_DIALOG分支下作为修改LISTWHEEL控件属性时使用或使用无效,应该在调用该LISTWHEEL的创建窗口的顶层函数后使用方能生效,即想要该函数起 阅读全文
摘要:
@2018-09-03 【问题】 在 WM_PAINT 消息分支里绘制2D图形可以正常显示,而在外部函数或按钮按下事件的响应消息分支下等处,绘制2D图形则不显示。 【解决】 在除消息WM_PAINT分支外使用2D图形绘制函数,首先使用函数WM_SelectWindow(mainWindow_Hand 阅读全文
摘要:
@2018-08-29 【小记】 为避免在窗口创建时由于使用了带触发功能的函数导致执行一些在初始化过程中不允许的操作,特整理一个流程架构 --① 定义一个初始化完成的标志 unsigned char initComplete = 0; --② 回调函数 >在初始化完毕后将完成标志置位, >在待触发位 阅读全文
摘要:
@2018-08-29 【小记】 结构体多维数组成员初始化的方法以及赋值内容的表示方法 阅读全文
摘要:
@2018-08-28 【小记】 在 case WM_INIT_DIALOG: 中使用 CHECKBOX_SetState()函数改变了复选框状态,就会产生 WM_NOTIFICATION_VALUE_CHANGED 通知代码,则在 case WM_NOTIFY_PARENT: 中就会进入该分支 【 阅读全文
摘要:
@2018-08-28 变量 i,j 的自增越界后的结果是, i:0~255~0~255,j:0~127,-128~0~127 阅读全文
摘要:
@2018-08-27 使用函数 WM_SendMessageNoPara(hWin_MainTask, WM_INIT_DIALOG),调试至此处进入hardfault,经查是由于hWin_MainTask未做操作,只是定义了导致 阅读全文
摘要:
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。 #pragma pack (n) 作用:C编译器将按照n个字节对齐。#pragma pack () 作用:取消自定义字节对齐方式。 #pragma pack (push,1) 作用:是指把 阅读全文
摘要:
@2018-08-13 小记 本意是想在回调函数中定义一变量暂存下拉框操作前的的设定值,与后期更改的设定值作比较后更新操作,但结果失败了 分析后,此变量定义为局部变量,emwin回调函数又是事件触发型的,所以在回调函数的初始化部分暂存设定值后,函数跳出后导致暂存值丢失,应更改为一全局变量可实现此目的 阅读全文
摘要:
@2018-08-09 用emWin进度条控件做个表盘控件,效果不错 阅读全文
摘要:
@2018-08-09 小记 消息 WM_INIT_DIALOG 在创建窗口时首先发送且只在创建窗口时发送即只发送这一次 阅读全文
摘要:
@2018-08-08 小记 键盘实现时,在发送键值时, 函数 GUI_SendKeyMsg(GUI_KEY_BACKSPACE, Pressed) 的参数 Pressed 在按键按下状态的 case 语句后无 break,此方法参考至官方的模拟器中的键盘实例,加上 break 会导致键盘无响应结果 阅读全文
摘要:
@2018-08-08 问题来源: 要实现A窗口上的参数修改,通过A窗口上新建的B窗口小键盘实现数据录入,但结果是只要点击A窗口上的任何地方(包括B窗口上的任意位置),则B窗口就消失了 解决办法: 使用‘模态’设置函数 WM_MakeModal()即可,设置窗口为模态后表现为只有模态窗口是激活的 阅读全文
摘要:
@2018-07-31 地址 阅读全文
摘要:
@2018-07-30 使用emwin-GUIBuilder布局界面时,各控件命名技巧及规则如下图所示(遵循此规则在写代码时好处多多) > 如上图所示所使用的第一组控件分别为 Text、Edit、Text,其控件Name命名规则为:类别 + 控件Content + -控件类别,即 Main + Ai 阅读全文
摘要:
@2018-07-27 触摸屏幕窗口的无效部分实现 Dropdown 部件的折叠操作 > 具体代码 1 case WM_TOUCH: 2 if (pMsg->Data.p) // Something happened in our area (pressed or released) 3 { 4 c 阅读全文
摘要:
@2018-07-27 【小记】 使用函数 FRAMEWIN_AddCloseButton() 实现关闭当前窗口的功能时,调用其窗口的父窗口必须处于打开状态,否则将导致假死(当前窗口死了,系统还在工作),本质就是打开子窗口时父窗口关闭了,再执行关闭子窗口后,就没有可供显示的窗口了,所以就残留了子窗口 阅读全文
摘要:
@218-7-24 【现象】 使用函数 GUI_EndDialog() 多次删除同一窗口,导致系统死机,调试发现代码会卡死在以下两处 > 1、启动文件中 > 2、HardFault中断内 @2019-04-28 【结论】 窗口创建与删除是匹配的,即窗口创建的N次,其最多能被删除N次,再删除则找不到资 阅读全文