摘要:
@2019-04-29 【小记】 可以设置文件是否参与编译、内存分配、宏定义等属性设置 阅读全文
摘要:
@2019-04-28 【小记】 使用emwin设计器生成的程序,将该窗口创建放在中断服务程序中出现奇怪现象,非死机但功能间歇性异常,将创建窗口程序放于普通程序中则工作正常 阅读全文
摘要:
@2019-04-28 【小记】 由函数GUI_CreateDialogBox 创建的窗口所返回的句柄与回调函数形参中的窗口句柄参数是一样的 阅读全文
摘要:
2019-04-17 【小记】 APP的IAR工程中的中断向量表偏移是在系统库中的 __iar_program_start 处实现的 启动代码 stm32f769xx.s 经调试看到 __iar_program_start 的反汇编 阅读全文
摘要:
@2019-04-17 【小记】 百度云平台建立MQTT服务器时需要设置权限组,否则连接失败 阅读全文
摘要:
@2019-04-12 【小记】 【使用环境】IAR-Arm8.30.1 【验证】 均为实测 1. 出现如下图这种情况应该是工程所在路径太深导致 2. 如果不弹出上图警告,但还是不跳转应该是工程编译信息异常导致,可尝试Project->Clear->Rebuild All解决 3. 如果第2种方法不 阅读全文
摘要:
【问题】 控制程序工作一段时间异常重启 【分析】 经定位分析重启原因为看门狗复位导致 【解决】 经排查发现在中断服务函数中使用了FreeRTOS的系统时延函数vTaskDelay,调试发现进入vTaskDelay函数后,会在函数xTaskResumeAll中进入临界段函数, 进而发现程序会卡死在下面 阅读全文
摘要:
@2019-03-13 【小记】 阅读全文
摘要:
rt-thread 初始化配置有两个分支: 第一,板级设备初始化 rt_components_board_init() 第二,内核组件初始化 rt_components_init() 阅读全文
摘要:
2019-03-01 【小记】 GUI_MessageBox 函数执行后必须手动点击关闭窗口,关闭窗口前线程将阻塞在此处等待关闭窗口事件 【使用场景】 由于该函数不会产生任何消息, 所以可利用阻塞特性来感知识别其产生了关闭动作,然后执行一些动作 阅读全文
摘要:
@2019-02-28 【小记】 Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。 阅读全文
摘要:
@2019-02-27 【小记】 emwin 窗口被模态之后,创建子窗口则原模态窗口变为非模态 阅读全文
摘要:
@2019-02-26 【小记】 char temp[10] float money; sprintf(temp, "0.2f", money); 以上使用方法可能导致死机,原因是 temp 装不下 money 所转化后的字符串字节数 > 10, 超界后的 temp 操作了敏感位置就会导致死机 阅读全文
摘要:
@2019-02-25 【小记】 hHeader = LISTVIEW_GetHeader(hListView); WM_DisableWindow(hHeader); 阅读全文
摘要:
网络组件组成 文件 <net_sockets.c> 为兼容标准 BSD Socket API 文件 <sal_socket.c> 为网络中间抽象层 文件 <at_socket.c> 为底层实际使用的网络设备接口 调用关系 Application > net_socket > sal_socket > 阅读全文
摘要:
@2019-02-22 【小记】 禁止聚焦功能便可实现 阅读全文
摘要:
@2019-02-21 【小记】 编译规则、关键字属性等一些参考手册说明 GCC online documentation 阅读全文
摘要:
@2019-02-20 【小记】 emwin存在多个窗口时,如何获取当前所在窗口 > emwin 之获取当前窗口的一种方法 【需求】 用于在代码中获知当前呈现的是哪个窗口 【方法】 进入新窗口将新 window_id 记录为当前 ID 退出当前窗口将当前 ID 恢复至父窗口 window_id 获知 阅读全文
摘要:
本文将以STM32F429 + FreeRTOS + KEIL为测试环境,看下MCU的使用率 1 、计算STM32使用率的官方方法在其CubeMX的固件库中 2、加入自己的工程 2.1、文件cpu_utils.c有描述使用的步骤 2.2、实操一遍 第一步:将上图中的 cpu_utils.c 文件添加 阅读全文
摘要:
@2019-02-18 【小记】 EasyFlash的初始化流程 easyflash_init > ef_port_init > sfud_init > sfud_device_init > hardware_init > sfud_spi_port_init > clock / pin / dev 阅读全文
摘要:
@2019-02-15 【问题描述】 使用 KEIL(带灰暗特性版本) 查看头文件代码时,其中有依据不同宏定义对应不同执行语句代码部分,依据灰暗特性呈现生效与失效代码,靠眼睛反应就是灰暗呈现为失效代码即其宏定义未定义,这样就主观认为灰暗代码部分不执行,导致在分析调用该头文件的源文件中使用头文件的宏函 阅读全文
摘要:
@2019-02-15 【小记】 > C 头文件的防重复包含是针对同一个源文件而言 原因: #include 头文件就是一段代码的拷贝,头文件中若有类型定义等,重复包含就会造成编译错误,若无类型定义等不造成重复定义的,则无需防重复包含机制 防重包含机制: #pragma once #ifndef _ 阅读全文
摘要:
@2019-01-14 【小记】 C++中const、volatile、mutable的用法 阅读全文
摘要:
const是一个C++语言的限定符,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。 1. 修饰常量 用const修饰的变量是不可变的,以下两种定义形式在本质上是一样的: 2. 阅读全文
摘要:
你想要的成都全攻略,好耍不重样——成都胖娃呕心巨作 阅读全文
摘要:
Relationship between the default armclang-generated sections and scatter-loading input sections How the default sections that armclang generates relat 阅读全文
摘要:
rt-thread 工程启动之后先是进入函数 rtthread_startup 做一些系统运行前的基础工作,主要有: * 板级硬件初始化 * 系统定时器初始化 * 系统调度器初始化 * 创建初始化线程 (组件初始化) * 定时器线程初始化 * 空闲线程初始化 * 系统调度器工作 串口设备的配置发生在 阅读全文
摘要:
一般 rt-thread 发布的 bsp 库默认的 rt_kprintf 函数的输出设备是串口1,想要更改输出设备为串口1,以 stm32 为例步骤如下: 首先,打开 UART2 设备 其次,在 menuconfig 中 RT-Thread Kernel Kernel Device Object U 阅读全文
摘要:
利用宏 INIT_EXPORT() __attribute__() 将函数重新放置在自定义段,执行时去该段获取函数地址 官方解释:RT-Thread 的 INIT_BOARD_EXPORT(fn) 宏 实现过程 阅读全文
摘要:
@2019-01-29 【小记】 小键盘的BUTTON控件由WINDOW控件组织,只需将所用BUTTON控件禁止聚焦即可。 小键盘的BUTTON控件由FRAMEWIN控件组织,将所用BUTTON控件禁止聚焦则无法实现。 【解决办法】 控件聚焦可方便实现键值输入,既然无法实现聚焦,那使用函数 WM_S 阅读全文
摘要:
@2019-01-26 【小记】 使用函数 WM_GetWindowRectEx(hItem, &Rect),坐标就存储在对象 Rect 中,可用于一些默认创建的窗口 阅读全文
摘要:
@2019-01-25 【小记】 工具化、易控制、易配置、效率高: 驱动控制文件<stm32f1xx_hal_conf.h>中驱动模块使能由STM32CubeMX工具配置使能 阅读全文
摘要:
添加与删除文件的机制是: menuconifg 所显示的菜单是由一系列 Kconfig 文件构成的,这些菜单实际就是一系列的宏控制,而这些宏又控制着一系列的 SConscript 文件中的代码文件是否加入工程,这一系列的 SConscript 文件由文件 SConstruct 管理,menuconf 阅读全文
摘要:
在学习 rt-thread BSP制作过程中 发现文件《stm32f1xx_hal.h》中由Env工具生成的原始顺序如下 1. #include "stm32f1xx_hal_conf.h" 2. #include <rtthread.h> 但这将导致 <stm32f1xx_hal_spi.h> 文 阅读全文
摘要:
bsp制作方法 官网下载 rt-thread 源码,将路径 bsp/stm32/libraries/templates/ 下的模板文件,Copy至路径 bsp/stm32/ 下再进行制作 制作完成后使用 scons --dist 命令后,可以随意拷贝此工程到任何目录下使用 bsp中的其他厂家的板子软 阅读全文
摘要:
路径问题导致的错误 参照rtt官方《STM32 系列 BSP 制作教程》 构建项目时出现如下错误 error1:打开 menuconfig 出错 解决方法: 根据提示 Kconfig:18:can't open file "../../../Kconfig",故需修改 Kconfig 文件 erro 阅读全文
摘要:
内存初始化后的布局示意 lfree指向内存空闲区首地址 1 /** 2 * @ingroup SystemInit 3 * 4 * This function will initialize system heap memory. 5 * 6 * @param begin_addr the begi 阅读全文
摘要:
@2019-01-16 【小记】 内存对齐就是除去对齐大小的余数 [ size, align] 向上对齐 (size + (align - 1)) - ((size + (align - 1))% align) = (size + (align - 1))& ~(align - 1) 向下对齐 si 阅读全文