- 博客(110)
- 资源 (16)
- 收藏
- 关注
原创 STM32应用开发——BH1750光照传感器详解
BH1750FVI 是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。
2024-04-14 21:09:59 2535 5
原创 STM32应用开发——使用PWM+DMA驱动WS2812
串行灯带的应用十分广泛,其中以WS2812最为经典,这种灯带一般都是通过单总线的方式来驱动,也就是由一根数据线按照特定的时序输出,继而驱动灯带。这种方式在硬件和软件上都非常简单,但是如果软件用GPIO模拟时序的话比较占用主线程的资源,因此,如果能用硬件外设(比如PWM、SPI、串口)来模拟出这个时序,就能节省MCU的资源。本文以PWM+DMA为例介绍如何驱动WS2812。
2024-04-02 21:33:04 1423
原创 Arduino应用开发——使用GUI-Guider制作LVGL UI并导入ESP32运行
GUI Guider是一个专门针对LVGL开发了一个上位机GUI设计工具,可以通过拖放控件的方式设计LVGL GUI页面,加速GUI的设计。设计完成的UI页面可以在PC上仿真运行,确认设计完毕之后可以生成C代码,再整合到MCU项目中。
2024-03-03 23:42:31 1805 2
原创 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 1220
原创 STM32 PVD掉电检测功能的使用方法
STM32本身内置了一种掉电检测机制——PVD(Programmable Voltage Detecter),即可编程电压检测器。其原理是通过PVD监测电压变化,并提前设定好一个基准电压,当芯片的供电电压高于或低于该基准电压时便产生PVD中断,在PVD中断里面就可以做一些紧急处理。
2023-12-11 09:32:23 2063
原创 STM32内部温度传感器使用方法详解
STM32内部集成了一个片上温度传感器,可以用来测量MCU及周围的温度。测量范围:-40~125,精度±1.5℃。虽然精度不高,但在某些应用场景下是够了的,相比于外部接入传感器,使用内部温度传感器既可以节省成本,又可以简化电路。
2023-12-01 08:44:16 3304 1
原创 STM32F10x进入低功耗模式
在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
2023-11-24 09:49:25 1148
原创 STM32 CAN/CANFD软件快速配置(HAL库版本)
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
2023-09-09 18:28:54 4127 3
原创 STM32 CAN快速配置(HAL库版本)
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力
2023-09-05 18:56:04 3135
原创 STM32设置为I2C从机模式(HAL库版本)
STM32的I2C作为主机的情况相信很多同学都用过,网上也有很多教程,但是作为从设备使用的例子应该不多,本文通过硬件和软件的层面,介绍如何把STM32设置为一个I2C从机。
2023-08-21 18:23:20 5306 30
原创 Mixly米思齐图形化编程初体验
Mixly是一款基于Scratch图形化编程语言的Arduino编程软件,它主要用于为初学者提供一个简单且易于理解的编程环境。通过Mixly,用户可以通过拖拽代码块的方式来编写Arduino程序,而无需手动输入代码。它提供了丰富的Arduino库函数和示例,使得用户可以快速上手并进行各种电子项目的实现。
2023-08-16 18:58:52 7071 1
原创 C语言队列实现参考示例
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
2023-07-28 21:55:57 779 1
原创 STM32设置为I2C从机模式
STM32的I2C作为主机的情况相信很多同学都用过,网上也有很多教程,但是作为从设备使用的例子应该不多,本文通过硬件和软件的层面,介绍如何把STM32设置为一个I2C从机。
2023-06-26 22:38:24 9067 34
原创 智芯MCU软件开发环境搭建
智芯科技的MCU主要应用于汽车行业,属于车规级的MCU,目前上市的MCU型号较少,相关资料也不多,所以这里出一期开发环境搭建的教程给需要的朋友。
2023-06-21 15:00:15 2087 1
原创 MCU通用移植方案
因为项目的需求或者成本控制等因素,我们经常会遇到更换MCU的情况,这时我们可能需要将以前项目使用的代码移植到新的MCU上面。可能是同系列的不同型号,也可能是不同系列不同架构的MCU,对于一些新手来说,这个事情乍一看好像挺简单,但是上手之后又发现好像无从下手。我也经常收到一些关于移植问题的私信,所以这一期就大概讲一下如何从一款MCU移植到另一款MCU,大概讲一下方法和思路。
2023-05-13 19:25:46 2187 1
原创 智芯Z20K11x串口printf重定向
智芯Z20K11x系列是基于ARM CORTEX M0+的中低端微控制器,高达256K P FLASH + 128K D FLASH,2路CANFD接口,4路UART/LIN接口,多种封装类型,适用于车身控制、空调控制、照明控制、中小功率电机控制等各种应用。
2023-04-19 18:15:19 952
原创 STM32 IAP应用开发——通过内置DFU实现USB升级(方式2)
DFU全称为Download Firmware Update,是ST官方推出的一个通过USB接口进行IAP升级的方案,同串口ISP一样,他们都集成在了芯片内部的Bootloader区段,可以通过配置boot引脚来启动。
2023-03-22 09:00:00 2944
原创 STM32 IAP应用开发——通过内置DFU实现USB升级(方式1)
DFU全称为Download Firmware Update,是ST官方推出的一个通过USB接口进行IAP升级的方案,同串口ISP一样,他们都集成在了芯片内部的Bootloader区段,可以通过配置boot引脚来启动。
2023-03-15 19:19:51 5148 9
原创 STM32 IAP应用开发——通过串口/RS485实现固件升级(方式2)
IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到数据存储区,从而实现固件升级。
2023-03-13 09:00:00 7331 10
原创 STM32 IAP应用开发——通过串口/RS485实现固件升级(方式1)
IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到数据存储区,从而实现固件升级。
2023-03-08 20:14:01 6461 15
原创 STM32 IAP应用开发——通过USB实现固件升级
IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到数据存储区,从而实现固件升级。
2023-02-24 11:05:30 6345 12
原创 STM32 IAP应用开发——自制BootLoader
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。
2023-02-20 21:00:52 11700 19
原创 Python应用开发——制作bin文件
在嵌入式开发中bin文件常当做烧录固件,是代码编译后的结果。实际上bin是存储二进制的一种文件格式,它不仅可以存放代码,还可以存放各种数据,比如图片、音乐、视频等,也可以存放一些自定义的数据,比如:当我们需要用串口或者USB传输大量的数据时,就可以把数据打包成bin文件,这样的话方便一些上位机软件读写。
2023-01-29 22:42:46 8787 2
原创 辉芒微(FMD)单片机开发环境搭建
为了节省成本,最近使用一款辉芒微的MCU,在此之前其实我都不知道这个公司,而且不管是官网还是网上其他相关的资料都不是很多,所以也是折腾了一番才把环境搭好,于是这里就出一篇博客,记录一下整个开发环境的搭建。
2022-11-21 18:43:19 12766 27
原创 Python应用开发——串口通信
在嵌入式开发中我们经常会用到串口,串口通信简单,使用起来方便,且适用场景多,因此串口常常用来输出调试Log或者跟其他外设进行通讯,也可以用作上位机和下位机之间的通讯。那这一讲我就简单介绍一下如何用Python编写一个串口收发程序。
2022-11-01 19:12:01 11665 15
原创 踩坑记录——USB键盘睡眠唤醒
前段时间我用一个国产MCU实现了雷蛇键盘的效果,按键支持十键无冲,RGB灯支持单控任意一个灯任意一种颜色,但是这个过程还是比较曲折的,原本以为键盘功能是最难搞的,低功耗处理是最简单的,没想到前面这么顺利,最后才翻车了,所以特意出一期记录一下我踩过的坑。
2022-10-24 08:53:15 6439
原创 如何从一款单片机移植到另一款单片机
因为项目的需求或者成本控制等因素,我们经常会遇到更换MCU的情况,这时我们可能需要将以前项目使用的代码移植到新的MCU上面。对于一些新手来说,这个事情乍一看好像挺简单,但是上手之后又发现好像无从下手。我也经常收到一些关于移植问题的私信,所以这一期就大概讲一下如何从一款MCU移植到另一款MCU,大概讲一下方法和思路。
2022-10-19 22:40:28 8764 3
原创 STM32国产替代方案
最近这两年因为各种因素影响,芯片的价格水涨船高。像ST系列的stm32价格暴涨了好几倍,stm32是很多公司以前一直都在用的芯片,突然的涨价导致新旧产品的成本都增加了不少,所以很多公司开始寻找可以替代的便宜芯片,于是很多国产方案应运而生。比如:GD32,AT32等等,我很早之前也介绍过GD32的使用和移植,不过我今天要讲的不是这些芯片。
2022-09-15 08:31:35 12026 2
原创 我的创作纪念日
虽然我不是什么大神,但是我觉得我走过的路很多人也正在走,所以我觉得有必要分享一下我这几年的所得,希望能帮后面的人少走些弯路。PS:这些都是我自己的一些见解,请理性看待,不喜勿喷。
2022-09-09 21:21:58 1299 4
原创 Python应用开发——爬取网页图片
当我们需要从网页上面下载很多图片的时候,一个一个手动保存实在是太累人了。那么有没有批量下载的办法呢?答案是有的,Python爬虫就可以完美的做到这一点,而且作为一个Python的初学者,我可以很负责任的告诉你,这门语言入门挺简单的,特别是对于那些有其他编程语言经验的人。
2022-09-06 19:00:51 35536 37
原创 HarmonyOS(鸿蒙系统)物联网开发教程——环境搭建
华为鸿蒙系统是一款全新的面向全场景的分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种实现极速发现、极速连接、硬件互助、资源共享,用合适的设备提供场景体验。...............
2022-08-30 20:13:59 8186 3
原创 Arduino应用开发——SD卡
存储设备是我们在做嵌入式开发时经常用到的,常用的如flash、eeprom、SD卡、U盘等。SD卡的好处是容量大,读写速度相对较快(可以使用SDIO或SPI接口通信)。之前我也有介绍过flash的使用,那这一讲主要讲解一下SD卡的使用。
2022-08-10 22:23:04 10382 10
原创 Arduino应用开发——通过小爱同学控制灯光
我之前发布了一篇关于如果用手机APP控制LED灯的文章,是基于Blink APP和它的服务器实现的,这一讲我们在之前的基础上做一些扩展,通过手机的小爱同学,使用语音控制灯光。没有看过上一篇博客的同学可以先看一下。
2022-05-24 08:20:32 7365 10
原创 Arduino应用开发——JSON的构建与解析
JSON 全称“JavaScript Object Notation”,译为“JavaScript对象简谱”或“JavaScript对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式。JSON 在Web开发领域有着举足轻重的地位,如果您想在Web开发领域大展身手的话,就必须了解JSON。
2022-04-17 22:36:48 10845 2
原创 Arduino应用开发——手机APP控制LED
物联网是最近几年比较火的一个话题,什么是物联网?简单的来说就是通过有线和无线的方式组成一个网络系统,并将所有硬件设备纳入这个网络系统之中,从而达到各个设备之间自由交互信息、控制等目的。特别说明:通过网络远程控制LED的方式有很多,本文介绍的这种方式是基于blinker的服务器和APP实现的。ESP8266软件基于Arduino平台实现。...
2022-04-14 08:44:43 11650 11
原创 Arduino应用开发——OTA(通过网络升级)
空中下载技术(Over-the-Air Technology; OTA),是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。经过公网多年的应用与发展,已十分成熟,网络运营商通过OTA技术实现SIM卡远程管理,还能提供移动化的新业务下载功能。实际上,现在我们所说的OTA比百度百科的定义还要更广泛,OTA的形式已经不再局限于手机和SIM卡,只要涉及到远程下载升级程序的方式我们都可以称之为OTA。
2022-04-12 14:39:22 8698 8
原创 Arduino应用开发——TCP/IP无线传输
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
2022-04-07 09:21:25 8987 14
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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人