- 博客(52)
- 资源 (2)
- 收藏
- 关注
原创 NUC970 Uboot中开启设备树支持(NAND)
拿到Uboot工程,先make clean、make defconfig;之后make menuconfig。
2024-01-29 08:55:22
597
原创 AD717X 驱动框架,连续读双通道ADC数据;AD7172等
验证方案时用到了AD7172芯片,24位AD,分辨率是真的高,无敌。但是前级放大电路不给力,所以放弃这版方案了。为了更好的移植性,以及复用代码。先写框架,然后通过注册函数的方式实例化对象,通过对象调用设备(简单说就是结构体,函数指针)。如果你使用的是STM32 HAL库,基本上不需要改变。、和MCU相关的文件、移植只需要重写这个文件】.....手册是中文的自己看吧,配合代码不难。PS:整体代码是根据ADI给的代码改写的。【AD7172的寄存器定义文件】
2023-07-29 09:28:43
3062
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
1332
1
原创 AT32F437VM SPI驱动AT7456E OSD芯片
上篇文章讲了BF固件中关于OSD的代码部分,今天来看一下硬件部分。使用AT的芯片配置SPI和OSD芯片通讯。
2022-11-23 10:14:05
1977
原创 spi个人笔记
spi是全双工通讯,收发同时进行。这句话怎么理解?如上图所示:主机产生一组时钟信号,并通过mosi输出8位数据。这个时候,虽然从机没有返回数据(持续低电平),但是因为是 收发同步,所以此时主机已经采集了此次的miso数据。就是说,无论你的目的是发送还是接受,每产生一组时钟信号,就会发送一组数据同时接受一组数据。时钟信号由主机产生,从机回复数据需要通过主机发送数据产生的时钟信号。所以,如上图所示,共两组数据。从机回复数据时,可以通过主机随便发一个无效的数据过来。st
2022-11-22 22:53:46
1837
原创 浅析Betaflight中的OSD叠加程序【MAX7456&AT7456】
前言:想要对OSD下手已经不是头一次了,前几次都浅尝辄止。一个是能力不够,BetaFlight的代码体系太庞大了,看不懂也摘不出来。这次要做一款带osd功能的接收机(用在遥控车上),所以又来打飞控程序主意。参考代码:betaflight V4.2.10OSD叠加芯片:AT7456E 【可以在立创商城中搜索PDF的文档】Betaflight中有关于常用飞控型号的图片,经过查看可以知道大多数飞控使用的OSD芯片为AT7456E。解析过程:按照目录结构可以找到关于OSD功能..
2022-11-22 15:32:34
5947
1
原创 LVGL入门 常用的几个命令(个人笔记)
前言:学习LVGL的过程中,常常知道有这个命令,也知道大概怎么用。但总想不起来命令叫什么,在整个库中找也显得麻烦,搞得每次写程序还要翻之前的Demo所以在这里将学习过程中用到的命令 存放在这里,方便再使用的时候方便的找到命令名字。
2022-10-27 15:15:06
3640
原创 将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
2223
1
原创 使用python serial 库发送16进制数据
如果data为字符串 要通过bytes.fromhex(data) 转换为ascii码 发送。# 可以直接将10进制的数组 或者 16进制数组给串口发送。这个函数实际传入的data类型可以很多种。注意下面问题即可发送。
2022-09-23 16:28:38
2887
原创 PYQT Pushbutton 右键菜单
演示为pushbutton添加右键菜单。buttontest.py 文件。mybutton.py 文件。
2022-09-21 13:02:41
856
原创 C语言常用的注册手段----个人笔记
【动作单元】*n = 【动作】 【动作】*n = 【动作组】接下来我们要将 gClear11111,gClear22222两个【动作】,或者更多【动作】组合成一个【动作组】。为了方便快速调整/新建【动作组】,可以新建一个结构体,结构体存放这些【动作】。为了方便快速新建【动作】,可以新建一个结构体,结构体里面存放这些【动作单元】为了快速组合【动作单元】为【动作】,我们再建立一个结构体。有一系列的【动作】需要排列,成为【动作组】。
2022-09-06 13:43:00
465
原创 PT100 or PT1000 温度计算公式(有代码)生成数组
要在程序中使用查表的方法来计算温度。所以就需要一个温度和阻值的对照表格。在网上搜了一下没有可以直接复制的,干脆自己写一个以后万一用得到。直接插代码:【适用范围:温度>0】 因为公式是温度>0时的公式。可以简单对照一下别人给的表格,都是一样的。...
2022-08-27 09:22:07
9103
原创 关于对飞控芯片(STM32)DFU模式升级的认识
【举报再看养成习惯,噢 不对,点赞再看 养成习惯。感谢支持】首先:飞控只是一个开发板,大家都可以开发!开发就要把自己的程序下载进去,所以我们来看一下在没有Jlink帮助,只使用飞控上的USB口升级飞控固件的办法。当前市面上主流飞控都是DFU升级,我之前做过的项目中也有使用dfu升级固件的,但都是使用Dfuse demo工具升级的【如下图所示】。升级使用的文件后缀也是.dfu。所以我就好奇,为什么bf软件使用DFU的方式升级,使用的却是hex文件?没想...
2022-02-10 19:15:39
2920
原创 关于STM32 DFU模式【飞控升级】
飞控大多数都用的STM32的芯片。我个人在生活中做过的开发任务的下载方式:通过SWD(Jlink)下载、ISP、DFU升级。但是任务中经常使用的是DfuSe Demo这个工具。先让设备进DFU然后通过软件Choose一个dfu文件就可以升级了。==========================分割线==================================但是刚刚看BF程序的时候,突然想起来BF软件给飞控升级用的也是DFU模式。但是官网上给出的升级文件却是HEX格式的。.
2021-12-01 17:46:29
4386
原创 瑞萨RX72M E2Studio开发笔记2 输出PWM
上一篇文章记录了 创建工程以及控制IO。接下来试一下输出指定频率以及占空比的PWM。官网下载E2Studio IDE。使用瑞萨E2 Lite仿真器进行开发。RSK+RX72M评估版。这里接着上次的工程继续,不重新建立工程。==============================分割线=============================== 首先增加PWM的组件:下一步之后:选择PWM mode 2。 然后选择合适的时钟,点击完成首先...
2021-10-22 16:23:46
1890
2
原创 瑞萨RX72M E2Studio开发笔记 GPIO输入输出
官网下载E2Studio IDE。使用瑞萨E2 Lite仿真器进行开发。RSK+RX72M评估版。新建项目选择新建工程的模板:选择要使用的芯片:下一步之后勾选:Smart Configurator,然后点击完成。============================完成项目创建=============================新增组件 :PORT 可控制引脚按照图中所示 添加组件之后 ,选择要使用的...
2021-10-21 12:34:01
2373
原创 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
124
原创 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
12600
4
原创 FatFs文件系统中某些函数提示 Undefined symbol
使用FatFs文件系统的时候,发现就是有个函数 f_getcwd()提示未定义。但是可以找到函数声明以及函数实现。应该去FATFS文件系统的配置页面去设置_FS_RPATH =2,开启f_readdir()函数。或者在CubeMx中开启...
2021-09-03 16:19:16
531
原创 裸机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
2002
原创 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
5822
2
原创 打印LOG的方法【个人笔记】
此文章记录的代码是跟着B站上的课程敲下来的,个人很喜欢为了防止丢失,所以在这里记录下来。需要的小伙伴可前往BiliBili听讲:https://www.bilibili.com/video/BV1EB4y1N7iD=========================分隔符==================================在开发过程中一个好的Log很重要可以知道当前程序运行情况以及排除BUG。但是通常我们习惯用printf等函数直接打印,这样是可以找BUG观察程序运...
2021-08-22 10:28:47
3374
1
原创 STM32F103裸机使用StemWin
上篇文章:移植emWin到STM32F103https://blog.youkuaiyun.com/qq_44810226/article/details/119829023?spm=1001.2014.3001.5501这里记录一下简单使用需要注意的点:【推荐先看上一篇文章,要不然可能会一头雾水】首先是初始化程序:OLED屏幕本身的初始化; GUI的初始化: GUI_Init(); GUI_Clear(); 裸机中的大循环函数Loop:OLED屏幕的刷新函数:负责
2021-08-21 14:36:04
1308
原创 移植StemWin到STM32F103VET6开发板,使用0.96寸IIC屏幕
【参考资料】开发板:野火F103VET6指南者开发板,裸机不带操作系统。emWin5.12中文手册,野火家资料中有。大佬写的文章:https://blog.youkuaiyun.com/z961968549/article/details/105243723/【bilibili视频资料】:https://www.bilibili.com/video/BV16t4y117rN?p=7使用0.96寸IIC屏幕,就是某宝上最常见的那种。首先使用硬件IIc驱动屏幕显示。cubeMX配置如下:
2021-08-21 14:07:11
1084
原创 在MicroPython源码中找到对应的API
在MicroPython脚本中使用import XXX,其实是引入了一个对象,这个对象有很多个方法使用。如果没有文档的话我们怎么才能找到对应的接口有哪些?怎么用。比如说我在脚本中import了math库用于数学计算。然后使用了degree这个方法。接下来我们去源码中找到对应的实现函数。观察一下MacroPython中添加一个库文件以及一个函数的方法:下面是math库的所有函数以及变量声明,所以通过搜索MP_ROM_QSTR(MP_QSTR_XXX函数名,就可以找...
2021-07-29 11:18:37
419
原创 CubeMX 配置PWM使用DMA,生成Dshot600的协议
看到电调支持Dshot125-600的协议,想自己做一个支持Dshot协议的驱动,所以研究了一下,如何利用精确的PWM产生Dshot协议。先看结果!图中为油门值为1500的时候的输出的Dshot600的一个协议帧长的代表1 短的代表0,一共18个数据,包括最后连个低电平表示的帧间隔。=============================分隔符================================【Dshot协议】主要用于飞控和电调之间的通讯,根据通讯速录不同可以分为..
2021-07-27 19:42:44
4807
4
原创 ESP32 DEVKIT V1 引脚图
实物图片:从淘宝上找到了https://github.com/Nicholas3388/LuaNode板卡的资料从中可知,pin2是控制LED的。原理图没找到,先点个灯试一下。
2021-07-19 17:36:39
16954
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
3099
原创 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
170
原创 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
221
原创 关于IAP升级任务开发中遇到的一些问题汇总
【前言】最近正在开发一个具有升级功能的项目,使用的是GD32的E230芯片。这里只阐述个人认知水平的观点,本人很菜,所以酌情观看本文。 关于IAP升级我还是第一次做,无非就是将内存分两份,一份用于Bootloader,一份用于APP。芯片共64K Flash空间,在做升级前,已经使用了公司的V3协议,所以就顺便也套用了升级的框架,升级的协议是在V3协议的基础上,利用数据段进行了处理,相当于协议套协议,具体内容下面再说。 一、分配内存: 将工程只保留最...
2021-06-22 00:12:04
1248
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
4139
4
原创 /bin/sh: 1: python: not found 【编译固件的时候显示这个错误】
在编microPython的时候发现会报错。但是在终端输入python可以打开Python3搜了一下找到了解决答案:参考【https://blog.youkuaiyun.com/qq_35067322/article/details/104917602】截屏大佬的解决过程 因为我懒得做笔记了。特此记录一下...
2021-05-14 16:46:54
3041
TMC4671 驱动中文手册,机器翻译的(介意勿下),比纯英文好理解
2025-01-18
AD7172连续读取代码,方便移植、根据官方代码改来的 非常适合STM32HAL库,使用简单
2023-07-29
用STM32内部Flash 虚拟成U盘、然后进行IAP升级
2022-10-27
STM32F103VE DFU 移植、cubemx + MDK环境
2022-10-22
EtherCAT Slave Stack Code Tool 512.zip
2021-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人