自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 NUC970 Uboot中开启设备树支持(NAND)

拿到Uboot工程,先make clean、make defconfig;之后make menuconfig。

2024-01-29 08:55:22 453

原创 【修个小家电】之 养生壶电源板

PS:这是第三次对小家电上手了,前两次比较侥幸,都是开焊之类的问题,属于是捡漏了。但这次........

2023-12-08 10:25:28 2399

原创 AD717X 驱动框架,连续读双通道ADC数据;AD7172等

验证方案时用到了AD7172芯片,24位AD,分辨率是真的高,无敌。但是前级放大电路不给力,所以放弃这版方案了。为了更好的移植性,以及复用代码。先写框架,然后通过注册函数的方式实例化对象,通过对象调用设备(简单说就是结构体,函数指针)。如果你使用的是STM32 HAL库,基本上不需要改变。、和MCU相关的文件、移植只需要重写这个文件】.....手册是中文的自己看吧,配合代码不难。PS:整体代码是根据ADI给的代码改写的。【AD7172的寄存器定义文件】

2023-07-29 09:28:43 1986 2

原创 NUC972 Linux学习 NAND FLASH 制作系统

如果一直挂载不上的同学可以试试把这个功能取消,然后到上面两个方式中去配置。2.1、分区可以从以下几个地方开始:Kernel->arch->arm->boot->dts中找到板卡的设备树。其中三个分区,分别为mtdblock0,mtdblock1,mtdblock2。2.2、uboot->include->config中找到板卡的.h文件。刚刚学习挂载.dtb设备树文件,一直没有更新rootfs所以导致报错,重新编译下载rootfs解决。2、如果没有上述的log输出,就是说根本没有进行分区,分区失败了。

2023-06-01 14:00:46 1140 1

原创 NUC972 使用不同的FLASH开机的ENV文件写法 NAND...

NUC972 使用不同的FLASH开机的ENV文件写法 NAND.

2023-03-06 11:04:32 414 1

原创 AT32F437VM SPI驱动AT7456E OSD芯片

上篇文章讲了BF固件中关于OSD的代码部分,今天来看一下硬件部分。使用AT的芯片配置SPI和OSD芯片通讯。

2022-11-23 10:14:05 1646

原创 spi个人笔记

spi是全双工通讯,收发同时进行。这句话怎么理解?如上图所示:主机产生一组时钟信号,并通过mosi输出8位数据。这个时候,虽然从机没有返回数据(持续低电平),但是因为是 收发同步,所以此时主机已经采集了此次的miso数据。就是说,无论你的目的是发送还是接受,每产生一组时钟信号,就会发送一组数据同时接受一组数据。时钟信号由主机产生,从机回复数据需要通过主机发送数据产生的时钟信号。所以,如上图所示,共两组数据。从机回复数据时,可以通过主机随便发一个无效的数据过来。st

2022-11-22 22:53:46 1675

原创 浅析Betaflight中的OSD叠加程序【MAX7456&AT7456】

前言:想要对OSD下手已经不是头一次了,前几次都浅尝辄止。一个是能力不够,BetaFlight的代码体系太庞大了,看不懂也摘不出来。这次要做一款带osd功能的接收机(用在遥控车上),所以又来打飞控程序主意。参考代码:betaflight V4.2.10OSD叠加芯片:AT7456E 【可以在立创商城中搜索PDF的文档】Betaflight中有关于常用飞控型号的图片,经过查看可以知道大多数飞控使用的OSD芯片为AT7456E。解析过程:按照目录结构可以找到关于OSD功能..

2022-11-22 15:32:34 4677 1

原创 LVGL入门 常用的几个命令(个人笔记)

前言:学习LVGL的过程中,常常知道有这个命令,也知道大概怎么用。但总想不起来命令叫什么,在整个库中找也显得麻烦,搞得每次写程序还要翻之前的Demo所以在这里将学习过程中用到的命令 存放在这里,方便再使用的时候方便的找到命令名字。

2022-10-27 15:15:06 2926

原创 将STM32 内部Flash虚拟成优盘,进行IAP升级

将 STM32 内部FLASH虚拟成优盘、然后进行IAP升级

2022-10-27 10:29:56 2064 2

原创 将STM32 Flash的一部分虚拟为大容量存储设备 USB_Device

因为103VET6的flash块大小为2K,所以要判断blk_addr在那个Flash块中,然后将整个Flash块读出来重新写入。如下图所示:将APP2所用的区域作为 大容量存储设备使用的内存,其中就包括升级需要的bin文件。写入:buf为要写入数据的指针、blk_addr为要写入的块的index、blk_len为要写入几个块(一般为1)大容量存储设备 起始地址为0x0804B000, 在固件之前的内容为FAT系统的其他数据。和bin文件是一样的。

2022-10-25 11:18:20 1979 1

原创 使用python serial 库发送16进制数据

如果data为字符串 要通过bytes.fromhex(data) 转换为ascii码 发送。# 可以直接将10进制的数组 或者 16进制数组给串口发送。这个函数实际传入的data类型可以很多种。注意下面问题即可发送。

2022-09-23 16:28:38 2471

原创 PYQT Pushbutton 右键菜单

演示为pushbutton添加右键菜单。buttontest.py 文件。mybutton.py 文件。

2022-09-21 13:02:41 795

原创 C语言常用的注册手段----个人笔记

【动作单元】*n = 【动作】 【动作】*n = 【动作组】接下来我们要将 gClear11111,gClear22222两个【动作】,或者更多【动作】组合成一个【动作组】。为了方便快速调整/新建【动作组】,可以新建一个结构体,结构体存放这些【动作】。为了方便快速新建【动作】,可以新建一个结构体,结构体里面存放这些【动作单元】为了快速组合【动作单元】为【动作】,我们再建立一个结构体。有一系列的【动作】需要排列,成为【动作组】。

2022-09-06 13:43:00 416

原创 4-20mA 电压控制电流输出电路浅析

4-20mA 电压控制电流输出电路浅析

2022-08-31 09:22:12 12685 10

原创 PT100 or PT1000 温度计算公式(有代码)生成数组

要在程序中使用查表的方法来计算温度。所以就需要一个温度和阻值的对照表格。在网上搜了一下没有可以直接复制的,干脆自己写一个以后万一用得到。直接插代码:【适用范围:温度>0】 因为公式是温度>0时的公式。可以简单对照一下别人给的表格,都是一样的。...

2022-08-27 09:22:07 6774

原创 关于用STM32ADC TP100测温电路的分析学习

关于用STM32ADC TP100测温电路的分析学习

2022-08-26 13:27:43 5810 2

原创 STM32 FLASH 简单读写操作【有代码】

STM32 FLASH 简单读写操作【有代码】

2022-03-10 16:16:01 4836 4

原创 关于对飞控芯片(STM32)DFU模式升级的认识

【举报再看养成习惯,噢 不对,点赞再看 养成习惯。感谢支持】首先:飞控只是一个开发板,大家都可以开发!开发就要把自己的程序下载进去,所以我们来看一下在没有Jlink帮助,只使用飞控上的USB口升级飞控固件的办法。当前市面上主流飞控都是DFU升级,我之前做过的项目中也有使用dfu升级固件的,但都是使用Dfuse demo工具升级的【如下图所示】。升级使用的文件后缀也是.dfu。所以我就好奇,为什么bf软件使用DFU的方式升级,使用的却是hex文件?没想...

2022-02-10 19:15:39 2594

原创 关于STM32 DFU模式【飞控升级】

飞控大多数都用的STM32的芯片。我个人在生活中做过的开发任务的下载方式:通过SWD(Jlink)下载、ISP、DFU升级。但是任务中经常使用的是DfuSe Demo这个工具。先让设备进DFU然后通过软件Choose一个dfu文件就可以升级了。==========================分割线==================================但是刚刚看BF程序的时候,突然想起来BF软件给飞控升级用的也是DFU模式。但是官网上给出的升级文件却是HEX格式的。.

2021-12-01 17:46:29 4198

原创 瑞萨RX72M E2Studio开发笔记2 输出PWM

上一篇文章记录了 创建工程以及控制IO。接下来试一下输出指定频率以及占空比的PWM。官网下载E2Studio IDE。使用瑞萨E2 Lite仿真器进行开发。RSK+RX72M评估版。这里接着上次的工程继续,不重新建立工程。==============================分割线=============================== 首先增加PWM的组件:下一步之后:选择PWM mode 2。 然后选择合适的时钟,点击完成首先...

2021-10-22 16:23:46 1686 1

原创 瑞萨RX72M E2Studio开发笔记 GPIO输入输出

官网下载E2Studio IDE。使用瑞萨E2 Lite仿真器进行开发。RSK+RX72M评估版。新建项目选择新建工程的模板:选择要使用的芯片:下一步之后勾选:Smart Configurator,然后点击完成。============================完成项目创建=============================新增组件 :PORT 可控制引脚按照图中所示 添加组件之后 ,选择要使用的...

2021-10-21 12:34:01 2092

原创 ROS学习笔记1

个人学习笔记:当做备忘录来用的。非教程常用命令:// 使用madir创建文件 -p 可以同时创建子文件夹ubantu18@ubuntu:~/Desktop/Learn_ROS$ mkdir -p helloWorld/src// 进入刚刚创建的工作目录 在scr上层文件夹中,初始化工作空间ubantu18@ubuntu:~/Desktop/Learn_ROS/helloWorld$ catkin_make// 在src文件夹下 输入下面命令, 创建ROS包并添加依赖。/

2021-09-12 15:08:21 98

原创 STM32 SPI+DMA驱动WS2812

【举报再看养成习惯,噢 不对,点赞再看养成习惯。感谢支持】开头不多叨叨,直接进入主题:WS2812的驱动原理:首先明白高低电平的表示方法:低电平(0 code): 0.35us的高电平+0.8us的低电平高电平(1 code):0.7us的高电平+0.6us的低电平之前有一期使用PWM+DMA 使用Dshot协议驱动电调的文章,里面表示高低电平也是这种方式。==========================================================

2021-09-07 15:21:02 11021 4

原创 FatFs文件系统中某些函数提示 Undefined symbol

使用FatFs文件系统的时候,发现就是有个函数 f_getcwd()提示未定义。但是可以找到函数声明以及函数实现。应该去FATFS文件系统的配置页面去设置_FS_RPATH =2,开启f_readdir()函数。或者在CubeMx中开启...

2021-09-03 16:19:16 452

原创 裸机STM32+CubeMX配置SDIO+FATFS

【举报再看养成习惯,噢 不对,点赞再看养成习惯。感谢支持】本次实验内容:读取STM32开发板上的SD卡中的内容。实验平台:野火STM32 F103指南者开发板软件:STM32CubeMX 6.0.1版本、Keil Ver:5.25.2.0=============================分割线==================================要使用SD卡,就要用到SDIO适配器:那么先来看两个时钟的配置(下图中有两处SDIO时钟)SDIO(上面的7

2021-09-03 12:03:18 1844

原创 STM32F103使用FSMC模拟8080时序驱动LCD屏幕(ILI9341)+ 配置使用STemWin

上篇文章移植StemWin的时候使用的是IIC的0.96寸屏幕。实验平台:野火指南者开发板。本次实验将0.96寸的小屏替换为3.2寸液晶屏。首先使用CubeMX驱动屏幕,然后再移植Stemwin。核心概念:FSMC通讯需要的引脚以及时序和8080引脚以及时序:拥有以上基础就知道应该如何实现功能了。================================分隔线==================================配置CubeMx:...

2021-08-24 12:35:17 5110 2

原创 打印LOG的方法【个人笔记】

此文章记录的代码是跟着B站上的课程敲下来的,个人很喜欢为了防止丢失,所以在这里记录下来。需要的小伙伴可前往BiliBili听讲:https://www.bilibili.com/video/BV1EB4y1N7iD=========================分隔符==================================在开发过程中一个好的Log很重要可以知道当前程序运行情况以及排除BUG。但是通常我们习惯用printf等函数直接打印,这样是可以找BUG观察程序运...

2021-08-22 10:28:47 3163 1

原创 STM32F103裸机使用StemWin

上篇文章:移植emWin到STM32F103https://blog.csdn.net/qq_44810226/article/details/119829023?spm=1001.2014.3001.5501这里记录一下简单使用需要注意的点:【推荐先看上一篇文章,要不然可能会一头雾水】首先是初始化程序:OLED屏幕本身的初始化; GUI的初始化: GUI_Init(); GUI_Clear(); 裸机中的大循环函数Loop:OLED屏幕的刷新函数:负责

2021-08-21 14:36:04 1152

原创 移植StemWin到STM32F103VET6开发板,使用0.96寸IIC屏幕

【参考资料】开发板:野火F103VET6指南者开发板,裸机不带操作系统。emWin5.12中文手册,野火家资料中有。大佬写的文章:https://blog.csdn.net/z961968549/article/details/105243723/【bilibili视频资料】:https://www.bilibili.com/video/BV16t4y117rN?p=7使用0.96寸IIC屏幕,就是某宝上最常见的那种。首先使用硬件IIc驱动屏幕显示。cubeMX配置如下:

2021-08-21 14:07:11 979

原创 在MicroPython源码中找到对应的API

在MicroPython脚本中使用import XXX,其实是引入了一个对象,这个对象有很多个方法使用。如果没有文档的话我们怎么才能找到对应的接口有哪些?怎么用。比如说我在脚本中import了math库用于数学计算。然后使用了degree这个方法。接下来我们去源码中找到对应的实现函数。观察一下MacroPython中添加一个库文件以及一个函数的方法:下面是math库的所有函数以及变量声明,所以通过搜索MP_ROM_QSTR(MP_QSTR_XXX函数名,就可以找...

2021-07-29 11:18:37 358

原创 CubeMX 配置PWM使用DMA,生成Dshot600的协议

看到电调支持Dshot125-600的协议,想自己做一个支持Dshot协议的驱动,所以研究了一下,如何利用精确的PWM产生Dshot协议。先看结果!图中为油门值为1500的时候的输出的Dshot600的一个协议帧长的代表1 短的代表0,一共18个数据,包括最后连个低电平表示的帧间隔。=============================分隔符================================【Dshot协议】主要用于飞控和电调之间的通讯,根据通讯速录不同可以分为..

2021-07-27 19:42:44 3823 1

原创 ESP32 DEVKIT V1 引脚图

实物图片:从淘宝上找到了https://github.com/Nicholas3388/LuaNode板卡的资料从中可知,pin2是控制LED的。原理图没找到,先点个灯试一下。

2021-07-19 17:36:39 16691 5

原创 常用的ESP IDF命令

记不住有什么命令,所以写在这里,用到的时候可以过来看idf.py fullclean 会清除之前的编译idf.py build 编译idf.py -p COM8 monitor 打开串口监视器idf.py -p COM8 flash 向串口烧录固件idf.py menuconfig 配置菜单idf.py set-target esp32 ...

2021-07-19 14:39:31 3000

原创 ESP32学习 001.环境搭建

声明:写此文章是为了给自己做笔记,所以如发现错误大家可以指出、轻点喷,感谢!!! 网上有千奇百怪的搭建ESP32环境的文章或者视频,ESP32可以使用arduino IDE开发、VScode插件、等等。之前尝试过使用VScode插件,但是安装总是失败,莫名安装超时失败等问题,所以这次想着用官方的IDF然后配合官方SDK说明文档来使用ESP32。首先:打开官网找到 下载ESP32 的IDF查看Esp-idf的readme如何使用:https://github.com/esp...

2021-07-18 21:08:29 127

原创 win10 搭建C编译环境,使用VScode

记不清第几次搭建环境了,但是感觉每次搭建的过程好像都有点不太一样。所以这里记录一下总体就两个环节:下载安装Vscode以及Vscode的各种插件(C、C++的)、mingw【mingw的网站】http://www.mingw-w64.org/doku.php【下载mingw-builds】http://www.mingw-w64.org/doku.php/download/mingw-builds然后无脑安装,记住安装的路径配置环境变量,路径如上图所示,到bin文件夹,.

2021-07-18 12:13:25 200

原创 关于IAP升级任务开发中遇到的一些问题汇总

【前言】最近正在开发一个具有升级功能的项目,使用的是GD32的E230芯片。这里只阐述个人认知水平的观点,本人很菜,所以酌情观看本文。 关于IAP升级我还是第一次做,无非就是将内存分两份,一份用于Bootloader,一份用于APP。芯片共64K Flash空间,在做升级前,已经使用了公司的V3协议,所以就顺便也套用了升级的框架,升级的协议是在V3协议的基础上,利用数据段进行了处理,相当于协议套协议,具体内容下面再说。 一、分配内存: 将工程只保留最...

2021-06-22 00:12:04 1125 1

原创 使用ArduinoIDE开发ESP32 一直重启 串口一直打印

使用Arduino上传程序之后 串口一直打印东西,发现是一直在重启。网上搜了一下,使用下面的方法得以解决。https://www.espressif.com/zh-hans/support/download/other-tools?keys=&field_type_tid%5B%5D=14工具下载地址...

2021-05-21 10:12:06 3730 4

原创 /bin/sh: 1: python: not found 【编译固件的时候显示这个错误】

在编microPython的时候发现会报错。但是在终端输入python可以打开Python3搜了一下找到了解决答案:参考【https://blog.csdn.net/qq_35067322/article/details/104917602】截屏大佬的解决过程 因为我懒得做笔记了。特此记录一下...

2021-05-14 16:46:54 2924

原创 记录一下在用的Vscode插件

一、修饰代码颜色、可以将大括号小括号的颜色做区分 代码更加清晰二、可以同步服务器上的代码、详情参考上一篇文章。

2021-04-22 11:11:59 65

AD7172连续读取代码,方便移植、根据官方代码改来的 非常适合STM32HAL库,使用简单

AD717X 驱动框架,连续读双通道ADC数据;AD7172连续读取代码,方便移植、根据官方代码改来的。非常适合STM32HAL库,使用简单。

2023-07-29

C语言写的卡尔曼滤波器、包含KalmanFrame.h文件,方便移植

C语言写的卡尔曼滤波器、包含KalmanFrame.h文件,方便移植。

2022-12-05

AT7456E OSD叠加工程,兼容MAX7456 方便移植

AT7456E OSD叠加工程,兼容MAX7456。方便移植

2022-11-26

用STM32内部Flash 虚拟成U盘、然后进行IAP升级

升级流程:按下KEY1按键上电,进升级模式。连接电脑会出现优盘、将需要升级的文件考入,按下KEY2会进行文件校验以及升级跳转。 使用STM32F103VET6 野火指南者开发板、cubeMX配置 包含 bootloader 以及 app、bin文件添加info用的工具。

2022-10-27

STM32F103VE DFU 移植、cubemx + MDK环境

按住按键上电 会进入DFU模式,DFU烧录时记得安装驱动哦。 环境:野火指南者 - STM32F103VET6 、 STM32 CubeMX配置生成代码、 MDK编译下载程序 、 APP起始地址为0x0801 9000 包含:Dfuse Demo.exe \ 整个工程文件

2022-10-22

EtherCAT Slave Stack Code Tool 512.zip

EtherCAT Slave Stack Code Tool、EtherCAT 从机代码生成、软件版本512、tool版本 4.13

2021-11-01

F103移植STemWin资料.zip

F103 裸机 移植STemWin资料,由两种屏幕得到驱动,IIC的0.96寸屏幕和RGB565接口的。

2021-08-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除