- 博客(120)
- 资源 (16)
- 收藏
- 关注
原创 Python应用——将Matplotlib图形嵌入Tkinter窗口
Tkinter是Python的标准GUI(图形用户界面)库,它提供了一个简单的方式来创建窗口、对话框、按钮、文本框等图形元素。非常适合用于创建简单的桌面应用程序,它提供了丰富的控件集,并且易于学习和使用。
2025-01-06 21:30:43 362
原创 Python绘制曲线图(基于Matplotlib库)
Matplotlib是一个Python的绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成具有出版品质的图形,适用于数据分析和可视化的各种场景。无论是简单的折线图还是复杂的三维可视化,Matplotlib都能轻松胜任。
2024-12-02 08:52:37 1249
原创 基于Python制作一个简易UI界面
tkinter 是 Python 的标准 GUI(图形用户界面)库,用于创建和管理图形界面。它提供了一个简单的方式来创建窗口、对话框、按钮、文本框等界面元素,并允许用户与它们进行交互。tkinter 是跨平台的,可以在大多数操作系统上运行,包括 Windows、macOS 和 Linux
2024-11-29 08:45:59 1864
原创 GD32E50x 三路CANFD配置
CAN配置除了CAN本身的参数,还需要注意接收过滤器的分配,如下图所示,CAN0和CAN1共用28个过滤器,CAN2独立使用14个过滤器。CAN0、CAN1和CAN2都可以映射到多个GPIO使用,但是配置有所差异。用CAN盒抓取数据如下图所示,MCU启动后一次通过3路CAN发送不同的数据。注:本文以GD32E508x为例,其他MCU可能有差异。把MCU三路CAN接到一起,并接入CAN盒的同一通道。MCU收到数据并通过串口打印接收log。其中CAN0和CAN1通过配置。
2024-10-24 23:40:44 531
原创 STM32应用开发——BH1750光照传感器详解
BH1750FVI 是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。
2024-04-14 21:09:59 14674 18
原创 STM32应用开发——使用PWM+DMA驱动WS2812
串行灯带的应用十分广泛,其中以WS2812最为经典,这种灯带一般都是通过单总线的方式来驱动,也就是由一根数据线按照特定的时序输出,继而驱动灯带。这种方式在硬件和软件上都非常简单,但是如果软件用GPIO模拟时序的话比较占用主线程的资源,因此,如果能用硬件外设(比如PWM、SPI、串口)来模拟出这个时序,就能节省MCU的资源。本文以PWM+DMA为例介绍如何驱动WS2812。
2024-04-02 21:33:04 4917 10
原创 Arduino应用开发——使用GUI-Guider制作LVGL UI并导入ESP32运行
GUI Guider是一个专门针对LVGL开发了一个上位机GUI设计工具,可以通过拖放控件的方式设计LVGL GUI页面,加速GUI的设计。设计完成的UI页面可以在PC上仿真运行,确认设计完毕之后可以生成C代码,再整合到MCU项目中。
2024-03-03 23:42:31 6077 3
原创 Arduino应用开发——esp32 lvgl v8.3环境搭建
LVGL (Light and Versatile Graphics Library) 是一个很流行的免费开源嵌入式图形库,可以帮助很多 MCU、MPU 和显示类型创建好看的 UI。它由Gábor Kiss-Vámosi于2016年创建的一个开源项目,目前由来自世界各地的志愿者共同维护和开发。
2024-02-29 09:50:53 2910
原创 STM32 PVD掉电检测功能的使用方法
STM32本身内置了一种掉电检测机制——PVD(Programmable Voltage Detecter),即可编程电压检测器。其原理是通过PVD监测电压变化,并提前设定好一个基准电压,当芯片的供电电压高于或低于该基准电压时便产生PVD中断,在PVD中断里面就可以做一些紧急处理。
2023-12-11 09:32:23 4575
原创 STM32内部温度传感器使用方法详解
STM32内部集成了一个片上温度传感器,可以用来测量MCU及周围的温度。测量范围:-40~125,精度±1.5℃。虽然精度不高,但在某些应用场景下是够了的,相比于外部接入传感器,使用内部温度传感器既可以节省成本,又可以简化电路。
2023-12-01 08:44:16 9757 6
原创 STM32F10x进入低功耗模式
在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
2023-11-24 09:49:25 1835
原创 STM32 CAN/CANFD软件快速配置(HAL库版本)
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
2023-09-09 18:28:54 8680 10
原创 STM32 CAN快速配置(HAL库版本)
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力
2023-09-05 18:56:04 7731 3
原创 STM32设置为I2C从机模式(HAL库版本)
STM32的I2C作为主机的情况相信很多同学都用过,网上也有很多教程,但是作为从设备使用的例子应该不多,本文通过硬件和软件的层面,介绍如何把STM32设置为一个I2C从机。
2023-08-21 18:23:20 11374 50
原创 Mixly米思齐图形化编程初体验
Mixly是一款基于Scratch图形化编程语言的Arduino编程软件,它主要用于为初学者提供一个简单且易于理解的编程环境。通过Mixly,用户可以通过拖拽代码块的方式来编写Arduino程序,而无需手动输入代码。它提供了丰富的Arduino库函数和示例,使得用户可以快速上手并进行各种电子项目的实现。
2023-08-16 18:58:52 13630 1
原创 C语言队列实现参考示例
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
2023-07-28 21:55:57 1364 1
原创 STM32设置为I2C从机模式
STM32的I2C作为主机的情况相信很多同学都用过,网上也有很多教程,但是作为从设备使用的例子应该不多,本文通过硬件和软件的层面,介绍如何把STM32设置为一个I2C从机。
2023-06-26 22:38:24 15997 45
原创 智芯MCU软件开发环境搭建
智芯科技的MCU主要应用于汽车行业,属于车规级的MCU,目前上市的MCU型号较少,相关资料也不多,所以这里出一期开发环境搭建的教程给需要的朋友。
2023-06-21 15:00:15 3189 2
原创 MCU通用移植方案
因为项目的需求或者成本控制等因素,我们经常会遇到更换MCU的情况,这时我们可能需要将以前项目使用的代码移植到新的MCU上面。可能是同系列的不同型号,也可能是不同系列不同架构的MCU,对于一些新手来说,这个事情乍一看好像挺简单,但是上手之后又发现好像无从下手。我也经常收到一些关于移植问题的私信,所以这一期就大概讲一下如何从一款MCU移植到另一款MCU,大概讲一下方法和思路。
2023-05-13 19:25:46 3504 2
原创 智芯Z20K11x串口printf重定向
智芯Z20K11x系列是基于ARM CORTEX M0+的中低端微控制器,高达256K P FLASH + 128K D FLASH,2路CANFD接口,4路UART/LIN接口,多种封装类型,适用于车身控制、空调控制、照明控制、中小功率电机控制等各种应用。
2023-04-19 18:15:19 1396
原创 STM32 IAP应用开发——通过内置DFU实现USB升级(方式2)
DFU全称为Download Firmware Update,是ST官方推出的一个通过USB接口进行IAP升级的方案,同串口ISP一样,他们都集成在了芯片内部的Bootloader区段,可以通过配置boot引脚来启动。
2023-03-22 09:00:00 4635 10
原创 STM32 IAP应用开发——通过内置DFU实现USB升级(方式1)
DFU全称为Download Firmware Update,是ST官方推出的一个通过USB接口进行IAP升级的方案,同串口ISP一样,他们都集成在了芯片内部的Bootloader区段,可以通过配置boot引脚来启动。
2023-03-15 19:19:51 8350 16
原创 STM32 IAP应用开发——通过串口/RS485实现固件升级(方式2)
IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到数据存储区,从而实现固件升级。
2023-03-13 09:00:00 10928 14
原创 STM32 IAP应用开发——通过串口/RS485实现固件升级(方式1)
IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到数据存储区,从而实现固件升级。
2023-03-08 20:14:01 9511 24
原创 STM32 IAP应用开发——通过USB实现固件升级
IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到数据存储区,从而实现固件升级。
2023-02-24 11:05:30 10125 19
原创 STM32 IAP应用开发——自制BootLoader
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。
2023-02-20 21:00:52 17269 28
原创 Python应用开发——制作bin文件
在嵌入式开发中bin文件常当做烧录固件,是代码编译后的结果。实际上bin是存储二进制的一种文件格式,它不仅可以存放代码,还可以存放各种数据,比如图片、音乐、视频等,也可以存放一些自定义的数据,比如:当我们需要用串口或者USB传输大量的数据时,就可以把数据打包成bin文件,这样的话方便一些上位机软件读写。
2023-01-29 22:42:46 11698 2
原创 辉芒微(FMD)单片机开发环境搭建
为了节省成本,最近使用一款辉芒微的MCU,在此之前其实我都不知道这个公司,而且不管是官网还是网上其他相关的资料都不是很多,所以也是折腾了一番才把环境搭好,于是这里就出一篇博客,记录一下整个开发环境的搭建。
2022-11-21 18:43:19 18089 35
原创 Python应用开发——串口通信
在嵌入式开发中我们经常会用到串口,串口通信简单,使用起来方便,且适用场景多,因此串口常常用来输出调试Log或者跟其他外设进行通讯,也可以用作上位机和下位机之间的通讯。那这一讲我就简单介绍一下如何用Python编写一个串口收发程序。
2022-11-01 19:12:01 14243 17
原创 踩坑记录——USB键盘睡眠唤醒
前段时间我用一个国产MCU实现了雷蛇键盘的效果,按键支持十键无冲,RGB灯支持单控任意一个灯任意一种颜色,但是这个过程还是比较曲折的,原本以为键盘功能是最难搞的,低功耗处理是最简单的,没想到前面这么顺利,最后才翻车了,所以特意出一期记录一下我踩过的坑。
2022-10-24 08:53:15 10402
原创 如何从一款单片机移植到另一款单片机
因为项目的需求或者成本控制等因素,我们经常会遇到更换MCU的情况,这时我们可能需要将以前项目使用的代码移植到新的MCU上面。对于一些新手来说,这个事情乍一看好像挺简单,但是上手之后又发现好像无从下手。我也经常收到一些关于移植问题的私信,所以这一期就大概讲一下如何从一款MCU移植到另一款MCU,大概讲一下方法和思路。
2022-10-19 22:40:28 11278 4
VS串口助手测试工具.zip
2021-08-29
通过u盘升级stm32固件
2020-09-22
智能农业蔬菜大棚设计.zip
2020-08-22
智能晾衣架设计.zip
2020-08-22
LORA速率计算器 寄存器参数配置工具.zip
2020-08-22
filterwizpro.zip
2020-08-22
TMF8801激光测距驱动程序,亲测可用.zip
2019-12-29
SX126x_LORA驱动程序(包含完整的工程文件原理图和数据手册等).zip
2019-12-12
STM8L101_E931.96人体红外感应(包含完整的工程,原理图和自学笔记).zip
2019-12-08
GD32 固件库和支持包.zip
2019-11-28
STM32_Sx127x系列LORA驱动程序,附带完整的工程和原理图.zip
2019-11-16
OPT3001驱动程序,附带完整工程,原理图和自学笔记.zip
2019-10-29
STM8+OPT3001,附带完整工程,原理图和自学笔记.zip
2019-09-09
使用PWM驱动WS2812
2024-04-02
STM32设置为I2C从机模式(HAL库版本)
2023-08-21
Zadig安装程序(v2.7.7)
2023-03-13
STM32通过串口/485进行OTA升级(方式2)
2023-03-10
STM32F4通过串口/485进行OTA升级(方式1)
2023-03-08
STM32 USB OTA升级
2023-02-19
通过python爬取网页图片
2022-09-12
通过python爬取网页图片
2022-09-12
PIC(dspic33)读保护有解吗
2024-05-27
pic(dspic33)读保护有解吗
2024-05-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人