- 博客(68)
- 资源 (10)
- 收藏
- 关注
原创 再一次出现sysfs: cannot create duplicate filename ‘/class/leds/led1‘解决方法
再一次出现sysfs: cannot create duplicate filename '/class/leds/led1'解决方法
2024-03-19 22:33:34
600
原创 Foxmail快捷键设置问题
当快捷键设置错误时不会生效,原来的快捷键仍有效,即使禁用快捷键功能,原先快捷键仍有效。2. 应该设置按键值只有一个的键盘按钮。1. 不能是空(NULL)
2024-03-04 12:03:04
396
原创 sysfs: cannot create duplicate filename ‘/devices/virtual/leds/led1‘问题查找及解决
尝试删除/devices/virtual/leds文件夹会提供报“权限问题”,后来检查代码发现是在编写Led驱动时,对同一个Led设备进行了多次创建。解决:重新系统上述目录消失,修改代码重新编译led模块,然后重新安装模块即可。将下面代码的循环体中错误代码修改。
2024-01-28 14:12:04
591
原创 VirtualBox虚拟机使用USB3.0网卡与开发板通信
因为我的笔记本没有带网口,所以我使用的是USB网卡。我按照网上其他人发的“VirtualBox与开发板、主机相互ping通”文章中提到的方法,进行网络设置后发现仍然无法实现Ubuntu虚拟机与主机和Linux开发板相互ping通。仔细回想以前Ubuntu虚拟机使用USB读卡器的情况,USB网卡是不是也可以这样操作?经过验证发现这是可以的,即直接将USB3.0网卡挂载到Ubuntu虚拟机上,这样Ubuntu虚拟机就可以通过USB3.0网卡直接与开发板通信。
2023-12-20 21:17:07
867
原创 九鼎开发板Uboot开发问题——sd_fusing运行异常
九鼎开发板uboot中sd_fusing.sh执行出现"No device specified."问题解决方法
2023-09-18 17:08:16
288
1
原创 MDK使用armclang编译C++程序
参考例程下载:https://github.com/conscience-still/MDK-Cplusplus--LED-xc++ -std=c++11下载工程打开工程并编译说明:但是这个工程以下是一个MDK创建的C++例程,详细的基于armcc的配置步骤大家可以参考此博客:https://blog.csdn.net/lyn631579741/article/details/105964055/...
2021-08-13 09:56:35
7081
原创 GreenHills for ARM使用技巧总结
全局宏头文件添加源文件添加文件夹添加多选一启动文件启动文件一般由2部分组成:链接脚本*.ld、汇编代码*.S汇编代码:设置C语言运行环境,即设置栈、堆(可有可无,如果C代码中使用malloc、free这种动态内存分配函数则需要);其他设置,如调试器的配置等链接脚本*.ld:...
2021-08-12 16:18:15
4861
原创 AD中顶层无法铺铜
问题描述:1. 在Top layer层中无法铺铜,其他层可以2. 在Top layer层中可以走线,但是无法铺铜原因:由于网络(track)属性设置错误导致的,不合理的值设置。如:宽度,长度等问题查找:将PCB内容复制到一个新的PCB文件中时,如果不加网络,则可以铺铜。所以猜想可能是网络问题。一个一个网络走线查找,后面是Vpv网络有问题。解决:将上图中宽度值修改为正常值即可。选中整个网络在属性面板中设置好正确的走线宽度或者删除选中的异常的走线,重...
2021-07-24 08:43:09
5287
原创 Arm ds或者DS-5导入芯片数据库
点击Window >> Preperences选中Arm DS如果是DS5软件就选择DS5 >> Configuration Database。然后点击Add选择完整的Database数据库路径。然后点击Rebuild database按钮,重新编译下芯片Database.这样芯片数据库就可以用了...
2021-06-28 11:20:40
782
原创 联想笔记本长时间不用后无法充电问题及解决
最近本人把几天不用的电脑给更新了硬盘,后面再重新安装了系统(Win 10)。一切搞好后,发现电池不充电了。。。。问题描述:接上电源后,电池图标这里一直显示0%,而且无法获取到电池信息。解决:点击右下角电池图标,将其修改为“最长续航”即可。...
2021-04-14 13:44:27
4241
原创 Josn_tool_pro使用说明
这是一款多功能Json字符串生成工具。双击右边的josn树形UI控件可以修改其内容,使用josn生成按钮可以一键生成对应的josn字符串。通过左边Josn显示窗口的底部的设置选择框可以对josn字符串进行给双引号(“、”)添加转义字符、使用格式化字符串代替josn的键值、压缩josn字符串(去除空格、回车、换行)操作。功能特性:支持创建树形Josn UI界面生成josn字符串 支持树形UI界面拖拽 支持树形UI界面中鼠标右键:删除、新增节点、新增子节点 支持自定义树形UI界面,且可以通过UI界
2021-04-06 17:45:14
119
原创 QTreeWidget遍历所有子节点以及删除整个TreeWidget
1. QTreeWidget删除整个TreeWidget使用递归方式来删除节点下的子节点。分析:如果当前节点没有子节点那么就直接删除,如果有子节点就进入子节点继续删除(这里采用递归形式)直到最低层的节点(没有子节点)返回。然后逐一一层一层的返回实现递归删除。说明:这里利用了第一个节点删除后下一个节点自动的会成为第一个节点特性。循环删除第一个节点从而实现删除所有节点的目的。//递归删除节点void MainWindow::removeItem(QTreeWidgetItem *item){
2021-04-06 17:25:30
12638
3
原创 一款MQTT Josn字符串生成小工具
问题使用在线的JOSN解析工具,功能不够。不能添加转义字符以及https://www.json.cn/#1. 新建JOSN树2. 添加数据字符串:需要使用""数字:0-93.删除
2021-03-29 13:55:56
428
2
原创 AD使用注意事项——原理图库引脚编号与PCB库编号不一致及解决方案
问题描述:我在绘制PCB时,使用了AD自带的原理图库文件而我PCB封装却是用的自己绘制的。由于自带的原理图库中引脚编号与我自己画的PCB封装库中引脚编号对应不上。如下图所示:原理图库中引脚:从这个原理图截图可以得到:1 :发射极(E);2 :基极(B);3 :集电极(C)PCB封闭引脚定义:从这个PCB封装截图可以得到:2 :发射极(E);1 :基极(B);3 :集电极(C)问题:如果大家使用的是原理图库与PCB库引脚编号对应不上就会导致网络连接不正确。补救方
2021-03-08 16:57:43
15489
1
原创 ESP8266 SDK开发——MQTT例程源码分析之PUBLISH报文发送
环形缓冲区因为环形缓冲区中会有很多数据包,而数据包之间是需要有分隔标志的,不然后就会无法分开数据包导致无法正确取出相应的数据包。环形缓冲器的数据包分隔:向环形缓冲区添加数据的代码://按照一定协议格式将JOSN(MQTT数据中)特殊的数据进行运算。然后解析函数中进行还原I16 ICACHE_FLASH_ATTR PROTO_AddRb(RINGBUF *rb, const U8 *packet, I16 len){ //按照一定协议格式将JOSN(MQTT数据中)特殊的数..
2021-03-05 16:20:55
749
1
原创 ESP8266 SDK开发——MQTT例程源码分析之PUBLISH报文生成
ESP8266 SDK MQTT的PUBLISH消息发布工作流程图1. PUBLISH消息报文格式查看MQTT官方的文档,得到固定完整PUBLISH消息发送报文格式:固定报头 + 主题名(可变报头) +有效载荷固定报头:MQTT控制报文类型【7:4】已经固定为0011b、【3:0】位全部采用0。即固定报头:0x30剩余长度:主题名的长度(占用的字节数) + 主题名长度占用的字节数(占用2个字节,因为采用了UTF-8编码) + 有效载荷长度(占用的字节数)文档关于剩...
2021-03-05 15:35:38
914
1
原创 Keil MDK加快编译速度的方法
1.将固定不变的代码生成Lib库,然后在项目中引用即可。这样可以大加快编译速度2. 取消符号信息,将Output标签中的Browse Information取消
2021-02-25 14:18:23
1575
原创 Keil MDK高级调试——Event Recorder
前言如今,灵活且易于使用的中间件组件在现代微控制器应用中至关重要。 这些软件组件通常是应用程序程序员的“黑匣子”。 即使提供了全面的文档和源代码,对潜在问题的分析也具有挑战性。MDK调试器提供了Component Viewer和Event Recorder,它们显示软件组件的执行状态和事件信息,从而帮助您了解和分析内部操作。 所需的基础结构已在MDK中间件和Keil RTX5中实现。 但是,可以将这些视图轻松添加到其他软件组件或用户应用程序。什么是Event Recorder?就是通过在代码中调
2021-02-24 12:58:27
8098
1
原创 ESP8266一直重启问题及解决(ets Jan 8 2013,rst cause:2, boot mode:(3,6))
问题描述:在使用ESP8266创建任务时,由于使用了system_os_task以及system_os_post来创建与执行任务。下载运行程序后系统无限重启。分析过程:1. 使用system_os_post函数时就会出现一直重启的问题。并打印“Fatal exception 29(StoreProhibitedCause):epc1=0x4023310a, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x0000000
2021-02-23 11:26:58
10336
原创 Node.js开发环境搭建及Demo测试
Node.js下载http://nodejs.cn/download/安装Node.js软件,按照向导完成安装即可。没有什么特别的需要设置的地方测试是否安装成功1. node工具安装是否成功在cmd命令行中,运行node -v或者node --version,如果能正常打印版本信息,则说明安装成功了。否则就失败了2. node包管理工具安装是否成功同样在cmd命令行中,运行npm -v,如果能正常打印版本信息,则说明安装成功了。否则就失败了Node.js支持包环境变量
2021-02-21 18:18:23
401
原创 ESP8266开发环境搭建问题处理
说明我使用的IDE工具版本为AiThinkerIDE_V1.5.2,SDK为ESP8266_NONOS_SDK-3.0.4问题一:python没有权限make: execvp: python: Permission denied make:*** [../Makefile:272: .output/eagle/debug/bin/eagle.app.v6.bin] Error 127原因:电脑上安装了多个python版本解决方法:保留AiThinkerIDE_V1.5.2自带
2021-01-20 22:32:15
2065
2
原创 Keil MDK中使用Arm compiler 6注意事项
使用Arm Compiler 6要求MDK版本:5.23及以上版本 Keil MDK-Middleware Pack:Version 7.4.0 or higher Keil ARM Compiler Support Pack:Version 1.3.0 or higher ARM CMSIS Pack Version:5.0.1 or higher AC5与AC6不同之处1. 不显示警告信息,使用-Wno-参数。这样有助于我们将关注点放在修改错误上来。关于详细的AC6警告选项请参考:.
2020-12-30 16:18:41
5534
1
原创 emWin使用(4/3)——display驱动的使用与配置
准备:硬件环境:STM32F429I-DISCOVERY软件环境:Keil MDK v5.26嵌入式RTOS:Keil RTX5说明:假设已经写好了裸机的LCD驱动程序且能正常显示信息。完整工程链接:https://pan.baidu.com/s/1UXiAj1zWlncpJabUgPpqHQ提取码:n8my上一篇文章我们已经选择好了display驱动——GUIDRV_Lin,这里我们将会讲解如何使用此驱动以及如何配置等。查看GUIDRV_Lin章节获取信息1. ...
2020-12-30 14:38:34
3111
原创 emWin使用(4/2)——display驱动的选择与确定
准备:硬件环境:STM32F429I-DISCOVERY软件环境:Keil MDK v5.26嵌入式RTOS:Keil RTX5说明:假设已经写好了裸机的LCD驱动程序且能正常显示信息。硬件部分——原理图阅读1. 在开发板的原理图中找到LCD显示屏部分电路图,得出LCD屏型号:SF-TC240T-9370-T下载LCD屏幕datasheet使用bing搜索引擎来搜索SF-TC240T-9370-T的数据手册,建议使用bing来搜索百度中广告太多。阅读LCD屏datas
2020-12-30 10:11:24
1853
原创 emWin移植与使用(4/1)——框架介绍及emWin手册阅读
前言:大家在首次接触到emWin图形库时,都会有一些疑问。我们应该如何在屏幕上使用GUI界面呢?使用GUI界面,我们需要做哪些操作呢?可不可以直接就可以使用emWin等等疑问?完整的emWin库软件框架图:因此我们在使用emWin图形界面库之前,需要完成LCD屏幕的驱动(正常显示文字、图形等)。然后我们通过完成LCD层、GUI层的设置与适配从而实现屏幕上显示基于emWin库的各种控件等。获取emWin用户手册1. 打开MDK软件,在MDK安装目录的ARM/pack/Keil/MD
2020-12-29 16:57:25
3465
原创 ST-LINK下载程序时出现:Error: Flash Download failed - Target DLL has been cancelled
问题描述:在使用STM32F429I-DISCOVERY开发上的ST-LINK下载程序时,出现了Error: Flash Download failed - Target DLL has been cancelled错误解决:在尝试了网上说的在MDK中的工程设置,再尝试下载后还是这样的问题。后面将ST-LINK固件升级就可以了ST-LINK固件升级:1. 从ST官网下载ST-LINK固件升级工具2. 在MDK中打开一个新的工程,然后插上ST-LINK。此时MDK会提示你更新固件.
2020-12-29 10:30:37
4466
1
原创 emWin使用(1)——LCD屏幕接口、LCD驱动芯片确定
LCD屏幕接口、LCD驱动芯片确定前言:在移植emWin时,我们都会遇到LCD驱动的选择的问题。如何选择Display Driver?选择依据是什么?这里我们分几个部分来逐一讲解问题:MCU与LCD控制器有两种连接方式:直接连接、间接连接LCD的接口:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式等。”MCU与LCD控制器有两种连接方式“与”LCD的接口“之间的关系是什么呢?MCU接口,RGB接口,SPI接口,VSYNC接口,MDDI接口,DSI接口
2020-12-28 17:27:48
3315
原创 Keil MDK使用调试GPIO寄存器显示问题
问题描述本人在尝试使用结构体来操作寄存器完成STM32F429TIZx芯片的GPIO操作时,发现在Keil MDK的GPIOG寄存器视图中无法查看到寄存器值的变化。我使用的是ST-LINK调试器操作的是GPIOG端口,如下图所示:代码://#include "my_gpio_driver.h"#include "stdint.h" #define RCC_BASE_ADDR (0x40003800U)#define GPIOG_BASE_ADDR (0x40021800U)/
2020-10-17 11:40:57
3429
原创 AD多板设计
许多产品包括多个互连的印刷电路板。比如:电脑主板,它里面就存在多外电路板(内存条、主板、以及一些其他模块。比如wifi等)。为了应对这种设计需要AD软件自18以及以后的版本中就添加了多板设计的功能,即一个多板工程中支持多个PCB工程多板系基本步骤创建一个Altium Designer多电路板项目,并添加一个多电路板原理图文档到项目中。 在逻辑示意图中放置图形块(模块)以逻辑方式表示子项目。 将每个模块链接到适当的子项目。 将子项目连接数据导入到系统设计中。 添加模块之间的连接以创建逻辑系统设
2020-10-13 17:59:01
5794
1
原创 AD打开protel的PCB图纸出现铺铜异常问题
问题在使用AD18及以上版本打开protel绘制的PCB图纸文件(*.PCB)时,出现铺铜乱掉了而且网络异常。铺铜与其他网络相连根本无法使用。解决:使用AD17及以下版本打开即可
2020-09-27 10:21:56
1887
1
原创 AD软件单张图纸出现Duplicate Net Names Wire NetR6_2
附件说明:有问题的原理图库链接:https://pan.baidu.com/s/1Zou4Je4_Zud6zX6TzIPxbg提取码:aas2问题描述注:整个工程文件中只有一个原理图图纸自己用AD19绘制了一些元器件的原理图库,然后用这些元器件库来绘制原理图。再连接好线之后,编译发现原理图一直报“Duplicate Net Names Wire NetR6_2”错误。自己检查了电阻器件的pin属性,看是否是使用了重复的引脚名称,后面发现没有。经过反复对比别的原理图库发现是自己绘制的原.
2020-09-24 16:51:41
8249
原创 STM32F429芯片使用USART2(PA2、PA3)问题
硬件平台STM32F429I-DISCOVERY、USB转串口工具开发平台Keil MDK问题最近由于我需要使用STM32F429芯片的串口2,所以今天就在STM32F429官方的例程尝试使用串口2。后面发现如果使用PA2、PA3作为串口2的通信端口时串口接收不到数据。代码:相关宏定义:#define USARTx USART2#define USARTx_CLK_ENABLE() __HAL_
2020-09-21 15:51:13
6642
1
原创 单片机程序框架设计与实现
前言什么是框架?程序框架其实就类似一个文件大纲或者模板。因为写程序就和类似于写文章,如果没有大纲或者模板那么你写起来就会比较费劲。而。为什么要有框架?节约时间,减少错误。因为对于一种类型的程序它们代码结构体逻辑是一样的,同时有大量相似或者共同的地方。我们可以将这些共同的地方抽出来形成一个固定的程序框架,那么我们再开发新的同一种类型的程序时就可以套用这套框架。这样会大大提高我们的开发效率,同时由于这个框架是一套公众的大家都在使用的与维护的,使用它会使代码逻辑更不容易出错。嵌入式系统组成
2020-09-14 11:10:48
6934
3
原创 嵌入式单片机好的代码编写风格
前言好的规范的代码给一种赏心悦目的感觉而糟糕的代码则给人的一种烦躁厌恶的感觉。这是会影响个人心情的同时也会影响代码维护效率。同时好的代码规范也可以减少不必要的错误的发生。规定变量和参数使用完整的数据类型GPIO_InitTypeDef GPIO_InitStruct;定义常量的表达式用括号括起来#define GPIO_PIN_13 ((uint16_t)0x2000U) /* Pin 13 selected */大写名称,用于标识核心寄存器、外围寄存器和CPU指令用于
2020-09-12 21:37:44
423
原创 C语言在嵌入式中的应用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在嵌入式设备的编程中,C语言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as np import pa..
2020-09-08 15:40:40
1047
原创 PCB设计中布局布线实际技巧以及相关规则
前言完整具有实际使用价值的PCB是需要符合相应的PCB规则的,这些规则就是设计要求。如果我们在设计PCB时没有按照这些设计要求来进行PCB板的布局布线时,最后我们设计完成的PCB板是使用不了的。所以PCB的布局布线规则非常非常重要,它能指导我们设计完成能够满足要求的并正常工作的PCB板。...
2020-09-07 21:50:41
15500
5
GUI_LED.zip
2020-03-16
Keils_STM32F429_SDRAM_FileSystem.zip
2020-03-10
led_blink.zip
2020-03-05
os_led_blinky.rar
2020-03-03
USART_Driver source code.rar
2020-03-03
led_pin_cfg.zip
2020-03-02
PCB_Project.zip
2020-03-02
Touch_key.zip
2020-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人