- 博客(113)
- 资源 (36)
- 收藏
- 关注
原创 GD32F450ZK程序超过1MB后下载校验后提示Contents mismatch at: 08100000H 问题解决记录笔记
GD32F450ZK程序超过1MB后下载校验后提示Contents mismatch at: 08100000H 问题解决笔记
2022-12-15 09:47:40
1090
3
原创 获取W806的芯片唯一ID
W806没有内部唯一ID, 但是它内置1MBflash是有一个64位唯一ID的.但是很多人不知道怎么读, 下面的方法也是我问官方才问出来的#define RSA_BASE_ADDRESS RSA_BASEint readFlashUniqueId(uint8_t *id, uint8_t id_len){ uint32_t *id32 = (uint32_t *)id; if(!id || 8 != id_len){ return -1; } FLASH->CM.
2021-11-08 13:19:56
664
原创 STM32F107的SPI3不能使用的问题
什么都初始化好了, 但是SCLK上没有波形输出, 翻阅芯片手册发现SPI3的引脚和JTAG冲突了, 默认JTAG, 需要加上: __HAL_AFIO_REMAP_SWJ_NOJTAG();
2021-10-11 15:07:21
591
原创 FreeRTOS里的Tick定时器在哪里配置的
int main(void){ nvic_priority_group_set(NVIC_PRIGROUP_PRE4_SUB0); xTaskCreate(GUI_Task, "GUI_Task", configMINIMAL_STACK_SIZE * 8, NULL, tskIDLE_PRIORITY + 1, NULL); /* start scheduler */ vTaskStartScheduler(); while (1) { }}FreeRTOS10.1版本从mai.
2021-09-07 20:26:36
805
原创 使用ST Flash Download也无法擦除读保护的问题修复
不知道为啥ST官方我下载器也经常失灵.我已经确保Boot0=1, Boot1=0, 可依然提示如下:No response from the target, the Boot loader can not be started.试了很多种方法就是不能下载, 不知道之前几次是怎么成功的.下面就尝试使用STlink来下载值需接4根线: VCC、GND、SWDIO和SWCLK。Boot0=0,Boot1=x1. 点Target->connect2...
2021-08-20 16:16:51
1398
原创 ESP32 烧录出厂固件
买来的ESP32开发板都不知道被自己下载多少回了, 现在又怀念之前的AT固件, 奈何记性不行, 完全忘记这么下载ESP32了.今天赶紧记录下.首先去这个网站下载最新的固件:https://docs.espressif.com/projects/esp-at/zh_CN/latest/AT_Binary_Lists/ESP32_AT_binaries.html然后就参考https://blog.youkuaiyun.com/sudaroot/article/details/103021994...
2021-08-18 16:13:22
7098
原创 RT1052程序成功从QSPI Flash加载到SDRAM里运行
RT1052芯片性能很强,这点毋容置疑,但是实际使用发现跟STM32很不一样,比如我想用SPI Flash存储私有数据,据说擦写的时候会导致程序崩溃,虽然小编我没有亲自验证过,但是想想它的工作原理就知道擦flash时候会导致flash繁忙,若此时程序执行时候过来取指肯定会失败。记得当初玩ESP8266时候它的SPI Flash有sdk库,对外开放,可以找个空闲的地方存储用户数据。现在市场常见的RT1052核心板外置8MB SPI Flash+32MB SDRAM。板载512KB RAM。这个片内
2021-08-12 13:58:36
3427
1
原创 RT1052 的 GPIO 配置
才玩没几天, 随便写写~飞思卡尔的芯片我一直没有能力驾驭, 要不然缺芯, 也根本不会玩它, 看了datasheet, 功能怪强悍, 但是开发不友好的话要它又有何用.从官网的demo来看, 基本上外设例子都有, 就拿最简单的点灯配置来说, 这个要比STM32复杂多了.#define GPIO1_DR *(unsigned int*)(GPIO1_BASE+0x00)#define GPIO1_GDIR *(unsigned int*)(GPIO1_BASE+0x04)#def
2021-08-05 14:39:31
1107
原创 lvgl移植demo程序光标不闪烁
移植完之后运行demo程序, 发现光标不闪烁, 以前记得是闪烁的啊.继续移植触摸屏驱动, 发现依然不闪烁, 触摸屏的回调函数都没被调用, 跟踪lv_task_handler()发现handler_start = lv_tick_get(); 的返回值一直是0, 突然想起来, 应该是lv_tick_inc()函数没有调用导致的.赶紧添加上这个函数, 一切都ok了;总结: 很久没有移植lvgl了, 都忘记一些细节了. ...
2021-06-03 20:17:16
868
原创 EasyFlash 的使用感受
我的硬件是W25Q32 + STM32F401CE配置如下:/* The minimum size of flash erasure. May be a flash sector size. */#define EF_ERASE_MIN_SIZE 4096 /* @note you must define it for a value *//* the flash write granularity, unit: bit * only support 1(nor flash)
2021-05-31 20:56:27
2273
3
原创 EasyFlash 里的 EF_WRITE_GRAN
EF_WRITE_GRAN 宏是啥意思? 我若使用 W25Q32 芯片, 我该配置成啥?/* the flash write granularity, unit: bit * only support 1(nor flash)/ 8(stm32f4)/ 32(stm32f1) */#define EF_WRITE_GRAN 1 /* @note you must define it for a value */static size_t set_status(uint8
2021-05-30 20:41:38
874
原创 GD32F450初次使用
手上有块GD450Z-EVAL开发板.在官网(http://www.gd32mcu.com/cn/download/8?kw=GD32F4)上下载了该开发板的资料.随便打开一个工程. 弹出这个随便单击红框中的链接,下载这个安装包安装完毕后,需要将这个工程变成keil5的, 否则还是找不到GD32噢Project -> Manage -> Migrate to Version 5 Format...因为他们的demo是...
2021-05-13 20:17:46
5954
原创 探讨 STM32F4 系列单片机 ROM 大扇区怎么存储用户数据问题
看完这个扇区地址分布内心是崩溃的,因为之前用的F1都是2KB一个扇区,每个扇区存储一个结构体,假如程序里用到5个结构体,只需要占用5个扇区即可。现在扇区最小16KB,如果将前面几个扇区作为用户存储数据区域,不可避免就得要用BootLoader了,写这个玩意要不是为了升级,真的非常没有必要,那有没有什么巧妙的方法可以不用BootLoader就能将用户数据存储在扇区1位置呢?答案是定义一个const变量,大小16KB,用at指定地址0x8004000,我现在遇到一个问题就是定义const的变量必..
2021-02-14 22:36:26
1466
原创 KeilMDK 开发过程中遇到一些奇怪问题记录
1. Keil 局部变量不能查看值,显示为not in scope, 按理论是应该显示的, 这种情况下八成是优化等级被打开, 改回O0即可.2. Keil 编译的时候遇到很多错误, 可是那个文件不可能错误, 这种情况很可能是自定义的头文件的最后一个函数分号忘记敲了;3....
2021-01-17 16:27:22
1691
原创 ESP32 hello world linux环境下编译
参考开源一小步的pdf在linux环境下开发这里主要记录下疑惑的地方:文档里的.profile文件是放在~目录下, 我给它放到esp目录下了我的esp-idf用的是3.3.4版本;采用pdf的编译器编译会报错, 很恶心;后来我找到一个版本编译是ok的.Linux 32位系统:https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gzLinux 64位系..
2020-10-22 19:46:46
163
原创 VB 调用 C
在 Windows 上 GUI 玩的最溜当属 VB,现在想做一个小工具,解析数据协议,想利用 C 语言的强大字符处理能力,展示部分还是用VB做方便,基于此目的,前期方案论证开始了...环境:Win10 + Dev-C++ 5.11 + VB6.0首先在Dev-C里创建一个工程:注意: 选择32位编译器编辑程序:dllmain.c/* Replace "dll.h" with the name of your header */#include "dll.h"#inc..
2020-10-21 11:23:28
1440
原创 littlevgl 编程技巧----如何在ui界面结束时销毁数据
在编写ui界面时候,不可避免会使用到一些style、任务和一些静态全局变量等,他们的生命周期就在页面执行时候,希望在页面销毁时候清空它,那系统有没有一个这样的回调函数呢?下面推荐我的方法:创建一个新页面时候创建一个obj,大小跟页面一样大,样式设置为透明。这个新的obj就是整个页面的parent了,为该obj绑定一个事件。static void del_task_cb(lv_obj_t *obj, lv_event_t event){ if (event == LV_EVENT_
2020-07-28 15:04:00
1076
原创 解决 lvgl 里 fatfs 显示中文的问题
首先我们需要知道的是fatfs里的文件路径采用unicode编码, lvgl 里采用的是utf-8, 所以对于lvgl显示文件系统的中文实在是在方便了,还可以省去占用庞大空间的cc936.c一般文件系统里的路径都是英文这个就啥也不用改了,最近用lvgl制作了一个mp3播放器, 总得放点中文歌曲吧.具体实现的步骤:首先_CODE_PAGE还是采用默认的1252 #define _...
2020-07-22 15:03:04
5638
7
原创 Keil 里 Astyle 的格式和效果
码代码时间久了就会发现喜欢上linux的缩进风格,无奈公司要求用C语言风格。这里先贴出两种风格的设置吧,希望以后能用上。风格一!E --style=k&r -t -j -p -k3 -W3 -n风格二!E--style=ansi-S-n-U-p-j-m0-w-s4-N...
2020-06-24 08:49:18
532
1
原创 LittlevGL 切换界面的演示
作为初学者都会遇到如何切换界面的问题,今天在这里就跟大家演示下如何切换界面。其实 lvgl 切换界面不是很难,只需要下面几行代码即可实现:lv_obj_t* btn1,* btn2;lv_obj_t* current_app_obj_user=NULL;#define LV_DESKTOP lv_disp_get_scr_act(NULL)/******************...
2020-04-13 14:41:10
12285
1
转载 WIFI 信号强度是怎么划分的
一般信号强度在-30~-120之间。正常信号强度应该是-40 dbm ~ -85 dbm之间。小于 -90 dbm就很差了,几乎没法连接。android中wifi分为5个等级,对应的图标是0格,1格,2格,3格,4格.那么对应的信号强度是多少呢?根据wifimanager中的算法calculateSignalLevel可以算得:0 rssi<=-1001 (-100, -88...
2020-03-27 20:29:37
37838
1
原创 esp-touch配置eps8266笔记
[2020-03-23_14:09:05]AT+RST[2020-03-23_14:09:05]OK[2020-03-23_14:09:05]WIFI DISCONNECT[2020-03-23_14:09:05][2020-03-23_14:09:05] ets Jan 8 2013,rst cause:2, boot mode:(3,0)[2020-03-23_14:09...
2020-03-23 14:16:06
1436
1
原创 STM32F746NGHx-Discovery开发板QSPI Demo程序下载出现Cannot Load Flash Programming Algorithm !的两种解决办法
有个一直很头疼的问题就是自带的QSPI flash如何下载的问题,我们以 STM32F7Discovery官方资料-1\STM32Cube_FW_F7_V1.1.0\Projects\STM32746G-Discovery\Applications\QSPI\QSPI_perfs\MDK-ARM工程为例子,演示下运行效果:首先下载到单片机中,出现很多警告。然后运行发现图片很奇怪:...
2020-03-02 16:05:17
3236
1
原创 Win10上注册OCX文件
现在的系统基本上都是64位了,我记得win7 64位也可以使用我下面的方式来注册,这里以win10为例子注册 MSCOMM32.OCX文件。将MSCOMM32.OCX 拷贝至C:\Windows\SysWOW64 右击开始菜单PowerShell(管理员) 进入到SYSWOW64目录下 照着下图敲就行了...
2020-02-28 17:40:25
1933
原创 嵌入式中目前遇到最美的GUI------littlevGL
不知道最近在哪里接触到 LittlevGL ,记得印象最深的是官方演示 demo 中的 Text 编辑时候动画弹出一个全键盘,还是带透明效果,就感觉这个 GUI 非常不错,进一步了解发现这个GUI还是开源的,所以想移植到非ST上就首选它就对了!这个GUI上手比较麻烦,我刚看demo的时候也是有点懵逼,当时觉得一些很简单的操作都很麻烦,例如桌面背景颜色和字体颜色的更改。。。最后自己慢慢摸...
2020-02-24 16:41:41
5698
8
原创 OCPP1.6 在单片机上的实现
想必特意看这篇文章的你肯定是和现在的我做一样的工作。这个玩意我已经玩了3个月,从一开始的的 Core 功能到最后的Smart Charging 都实现了。还是一贯的风格,只提点思路:首先自己要实现Websocket通信协议,这个实现起来非常 easy 。 自己编写 UUID 函数。 需要用到 cJSON 库,还有动态 malloc 分配函数。 里面有很多操作离不开队列。 最后要做的...
2020-01-13 21:27:21
6481
14
原创 STM32 Boot0引脚没有拉低导致程序无法运行或者仿真
仿真的时候发现pc指针是0x1fxxxxxx 位置,想都不用想肯定是boot0没有拉低导致的,这种情况一般会发生在新手身上!
2019-09-28 17:21:47
2151
原创 解决MQTT每次上线订阅主题后都会收到一条Retain消息的问题
如标题和上图中所述,遇到这个问题确实很烦人,我上述例子是基于Onenet平台,最后是咨询了该平台开发人员才知道怎么解决的:用模拟器登陆(账号就用上述截图中设备的账号); 发送一条qos=0,retain=1,payload=任意值的消息即可解除 。...
2019-09-28 09:44:20
4886
2
原创 centos7 里安装 mysql 记录
1. 首先参考https://zocodev.com/centos7-mysql.html2. 安装中可能会遇到如下一些问题: Error: Package: akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda) Requires: mariadb-server 报错原因 :软件包依赖 mariadb组件 解决方案...
2019-08-29 18:22:02
511
原创 TEA java语言实现方法
/** * @author: heiing 2013-01-20 01:20 */public class TEA { public static byte[] encrypt(byte[] data, byte[] key) { int data_len = data.length; // 数据的长度 if (data_len == 0) { return new b...
2019-08-22 09:36:37
263
原创 BT文件快速解析算法
要想实现一个BT下载器,第一步就是解析bt文件:d 8:announce 37:http://tracker.ktxp.com:6868/announce 13:announce-list l l 37:http://tracker.ktxp.com:6868/announce e ...
2019-08-22 09:36:24
788
原创 ESP8266基于Onenet云平台的SOTA升级详细流程介绍
在上一篇《OneNet 里 SOTA升级体验 (基于 ESP8266)》中已经将核心步骤给大家一一讲解了一遍,这篇我们就说下实际操作中的细节。首先我们看下升级步骤:获取 Token 分片下载文件 校验下载文件是否正确 设置标志位调用系统函数来运行新的固件第一步比较简单,参考上一篇就知道怎么操作了,还有一些初始化动作:设置升级标志位:system_upgrade_flag_set...
2019-08-22 09:36:12
1070
原创 函数形参是 void * 类型的参数传递问题
这个问题其实很常见,尤其是在一些 API 函数里。有时候想传递用户自定义类型的时候会经常有这个 void * 类型参数供用户使用。可实际怎么使用估计很多人一开始搞了半天不是提示编译错误就是编译错误。下面还是用个例子给大家简单演示下如何巧妙的将自己的参数传递过去并使用起来。...
2019-08-20 20:35:37
10284
原创 SecureCRT连接Centos虚拟机
做个笔记,本文参考https://blog.youkuaiyun.com/za02157100419/article/details/793173631、首先在VMWare下配置CentOS为桥接模式:2、查看本机ip (要设置成静态ip):3. 查看centos的mac地址4、在root权限下修改/etc/sysconfig/network-scripts/ifcfg-e...
2019-08-11 10:26:14
308
原创 ESP8266 SDK 版客户端程序编写 ( 附带时钟同步 demo )
写这篇文章是因为 ESP8266 SDK 包自带的 STNP 经常同步时间失败,只能寻找新的办法了。通过分析发现自己编写TCP通信代码就能拿到时间,下面我们来讲述下其原理:很多http网页如果请求失败会带时间戳返回,可以利用这个原理来提取系统时间:我下面的例子就是简单的获取时分秒,年月日里就月份比较难获取而已,有兴趣自己弄下。void ICACHE_FLASH_ATTR esp...
2019-08-08 14:57:13
747
原创 ESP8266 SDK版出坑指南
1. 下载的时候16M和32M Flash有两个选择,貌似选择哪个都能运行,那到底有啥用呢?如果不是那镜子不像你,不藏秘密,我还不肯相信没有你,我的笑更美丽。。。写着写着写成歌词,如果不是我最近在调试OTA升级和从sdk1.5移植到sdk2.0我还不肯相信自己会踩到这个坑~~~eclipse里是xuan选择map6的,对应user2地址是0x101000,可实际启动bootl...
2019-05-25 11:19:45
855
NUC972-FreeRTOS+littleVGL--800x480或480x272.rar
2021-07-19
FLASH_DOWNLOAD_TOOLS_V3.6.2.2.rar
2020-12-14
AiThinkerIDE_V0.5_Setup.exe
2020-12-14
esptouch_安卓和ios.rar
2020-03-31
MSP430仿真器驱动程序
2017-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人