自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ★————博客文章导航————★

为了方便大家快速找到对应例程,特整理出文章分类导航,直达传送门如下:一、STM32(HAL库)外设实战 ★例程源码下载直达——giteeSTM32系列(HAL库)——F103C8T6通过IIC/I2C方式读写AT24C02—(EEPROM 存储模块) STM32系列(HAL库)——F103C8T6点亮1.44寸TFT-LCD彩屏 STM32系列(HAL库)——F103C8T6驱动WS2812全彩RGB模块(PWM+DMA方式) STM32系列(HAL库)——F10......

2022-05-02 23:00:17 1302

原创 STM32系列(HAL库)——使用ESP8266-01S物联网模块连接Onenet云平台上报DHT11温湿度

本篇主要讲解如何使用ESP8266-01S物联网模块连接Onenet云平台,并上报DHT11模块的温湿度数据。本文单片机主控采用STM32F405RGT6,使用其他主控的话基本要求有2个串口,一个串口用于调试使用,另一个用于ESP模块通讯

2023-01-10 21:00:04 10707 27

原创 单相全桥逆变原理及仿真实验

通常把直流电变成交流电的过程叫做逆变,完成逆变功能的电路称为逆变电路。本文主要介绍全桥逆变电路的拓扑结构、逆变原理及控制方法、单相逆变的软件实现思路,并结合simulink、proteus仿真软件进行仿真验证。};

2023-01-02 20:00:00 47953 16

原创 STM32系列(HAL库)——串口IAP

IAP(In Application Programming)即在应用编程,IAP 是用户自己的程序在运行过程中对 User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产 品中的固件程序进行更新升级。 设备具备IAP功能的情况下,一般闪存中存在2个程序,第一个程序称之为 Bootloader 程序,其主要作用是判断设备是否需要升级以及接收程序完成升级这两个功能;第二个功能称之为APP程序,就是设备正常运行时的程序。 对于Bootloade

2022-12-04 18:30:00 3617 4

原创 STM32系列(HAL库) ——定时器编码器/正交解码模式

STM32定时器的正交解码模式多用于检测电机的编码器脉冲数做闭环控制,如PID。本文简单介绍一下定时器在Cubemx如何配置以及程序引用到的API函数。

2022-11-27 20:00:00 6182 3

原创 关于KEil5 / MDK5如何设置编译产生bin文件

在做远程IAP升级时,一般需要给升级程序编译生成bin文件,而不是hex文件。其中,在第3步输入的内容为:fromelf.exe --bin -o "完成上面几步,给程序编译无误即可生成bin文件,可在工程目录下找到。注意,红色部分为生成bin文件的名称,可自定义。下面介绍在Keil5中如何生成bin文件。

2022-11-21 23:30:00 1492

原创 一款集成ST-link下载及虚拟串口的STM32F103C8T6最小系统板设计

在以前的STM32单片机应用中,经常使用STM32F103C8T6最小系统板(小蓝板)作为主控。程序下载和串口交互都需要额外器件和接线,程序下载的话要用到ST-link,串口交互用到USB-TTL,常见的样子就下面这样吧。为了摆脱接线的麻烦和少占用我一个USB口,我决定将它俩集成到主控上。这里采用的方案是ST-link V2.1,上图所示的是ST-link V2,它没带串口功能。而V2.1的带有虚拟串口,但是固件大小比V2的大。此处省略千字设计制作调试步骤......

2022-11-20 00:45:00 9329

原创 【嵌入式百科】006——RAM及其分类

随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。

2022-11-19 20:00:00 2326

原创 【嵌入式百科】005——单片机的I/O编址方式

外部设备与CPU进行信息交换,必须通过访问改外设相对应的端口来实现。寻找这些外设端口的过程叫做寻址。通常有两种寻址方式:存储器统一寻址方式 和 I/O端口独立寻址方式。

2022-11-08 19:00:00 820

原创 【嵌入式百科】004——ASCLL码表

数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII。65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用。在计算机中,所有的数据在存储和运算时都要使用。

2022-11-07 19:00:00 896

原创 【嵌入式百科】003——时钟周期、指令周期、机器周期、总线周期

它一般由12个时钟周期(振荡周期)组成,即由6个状态周期组成,而振荡周期=1/晶振频率,因此单片机的机器周期=12/晶振频率。时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。8051系列单片机的一个机器周期由6个S周期(状态周期)组成,也就是说一个机器周期=6个状态周期=12个振荡周期(即时钟周期)。指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。

2022-11-06 19:00:00 5341

原创 【嵌入式百科】002——原码、反码、补码

书写时表示的数和机器中编码表示的数分别称为真值(无符号数)与机器数(有符号数)。常用的机器数表示有原码、反码、补码三种形式。以下解释基于八位二进制。

2022-11-04 19:00:00 1930

原创 【嵌入式百科】001——字长、比特、字节、字、双字

数据存储大多是以“字节”(Byte)为单位,每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。16个位(即2个字节)为一个字。数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制)一般地,大型计算机的字长为32-64位,小型计算机为12-32位,而微型计算机为4-16位。计算机的每个字所包含的位数称为字长,计算的字长是指它一次可处理的。

2022-10-31 14:44:29 2476

原创 STC89C51——串行通信、串口介绍及配置

本文介绍基于常见的51单片机,即如下图的芯片:AT89C51具备一个全双工串行通信接口。设有2个相互独立的接收、发送缓冲器,可以同时发送和接收数据。两个缓冲器(SBUF)共用一个物理地址即99H。如果CPU写SBUF,数据就会被送入发送寄存器准备发送;如果CPU读SBUF,则读入的数据来自接收缓冲器。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入。串行通信设有4种工作方式,工作方式0和2波特率固定,方式1和3波特率可变。因为平时使用串口一般用于单片机和电脑调试,即使用串口打印。

2022-10-26 08:00:00 9219

原创 STC89C51——定时器/计数器介绍及程序配置

AT89C51具备2个定时器/计数器,即定时器/计数器 0、定时器/计数器 1( 简称 T0 / T1)。T0 有 4 种工作方式,T1 有 3 种工作方式,2个定时器前3种工作方式一样,但是在T0 处于工作方式 3 时,T1 只能作为波特率发生器。工作方式说明013位定时/计数器(最大值8192)116位定时/计数器(最大值65535)28位自动重装载定时/计数器(最大值255)3定时器0为双8位定时器,可独立使用。

2022-10-25 18:00:00 7541

原创 STC89C51——中断系统

STC89C51具备5个中断源中断源优先级中断请求标志位中断允许控制位外部中断00IE0EX0定时器中断01TF0ET0外部中断12IE1EX1定时器中断13TF1ET1串口中断4RI / TI/优先级数字越低,越优先得到CPU处理。配置中断时,需要将对应中断允许控制位置1。使用任何中断,都需要打开总中断,即程序语句 EA = 1;与中断相关的寄存器:IE 、TCON、SCON(此处只介绍了常用的)位D7D6D5D4D3D2D1D0。

2022-10-24 15:41:59 2802

原创 STM32系列(HAL库) ——使用串口打印的3种方式

显然,方法3适用与使用多个串口的情况,比如在使用esp01-s互联网模块时,一个串口用来调试,另外一个用于和模块通信。适合多个串口打印,也是从原子哥那边搬过来的,但是在HAL需要修改,具体修改细节不赘述,下面是直接给出修改后的代码。注意:在任意需要使用printf函数打印的C文件中,都需要引用#include 头文件。注意:在任意需要使用printf函数打印的C文件中,都需要引用#include 头文件。②:需要在 usrat.h文件中添加如下代码。

2022-10-16 08:00:00 10078 1

原创 半桥BUCK电路—记录篇

因为对于第一次制作的电路,我一般都是布局比较稀疏,方便后期调试测试(第一次更多的是以发现问题及电路特性为主),在此之前我并不知道MOS会存在这样的问题,什么问题直接上图简单明了。从这篇文章中,我能发现我板子所在问题之一是上下管的信号线,即驱动芯片到NMOS栅极这一段线拉得有点长了,后来在第二次Layout时,我将布局画得更加紧凑,果然,问题解决了。使用的驱动芯片是IR2104,推荐使用EG2104,因为手头上只有IR2104,所以就凑合着用了,只要没碰上假芯片,也不会出大问题。.........

2022-07-26 18:52:11 5690 3

原创 ESP8266-NodeMCU——从苏宁API获取实时天气

点击跳转其显示如下其中我们要抓取的是红线部分的内容,并通过串口打印。当然,这部分也可以用来显示在OLED上,我之前就是这么玩。在正式开始前,需要了解使用WiFiManager库连接wifi的过程,下文代码中的wifi连接用了WiFiManager库,没有将要连接的wifi名称和密码直接写入代码,具体操作可以跳转参考ESP8266-NodeMCU——使用WiFiManager库连接wifi。...

2022-07-21 00:15:00 801

原创 ESP8266-NodeMCU——使用WiFiManager库连接wifi

WiFiManager库能实现手动配网,可以更加灵活的为板子配置wifi连接,并会把配置信息保存到内部Flash,下次启动会利用存储的配置信息自动连接,这比在代码里写好wifi名称密码具有更大的优势。

2022-07-20 00:00:00 2943 5

原创 ESP8266-NodeMCU——使用U8g2库点亮OLED

如果在IDE里不能下载就从这下载,解压后放去库路径里,如果不出意外,库路径都是在文档/Arduino/libraries)(2)1.3'OLED屏幕模块(7针,SSD1306驱动)(3)一根可以传输数据的microUSB线。

2022-07-20 00:00:00 2625 4

原创 ESP32-CAM——内网穿透教程

本篇将介绍如何实现ESP32——CAM的内网穿透,实现远程监控的功能(简单玩玩还行)。有的朋友不知道什么是内网穿透,这个可以去自行了解,基于本文来解释一下的话就是,ESP32CAM在生成视频流的时候回生成一个网址,复制这个网址在浏览器打开就能看到视频流,这个时候ESP32CAM和查看视频流的设备需要连接同一个网络,查看设备才能看得到视频流。如果有内网穿透,就不需要有连接同一网络这个要求,即使你万里之外的好兄弟也能看到。...

2022-07-19 09:31:56 10547 20

原创 TL494电源芯片使用记录分享

TL494是一个固定频率的脉冲宽度调制电路,内置了线性锯齿波振荡器,振荡频率可以通过外部的一个电阻和一个电容进行调节,主要为开关电源控制器而设计。近期用到TL494做电源,顺便在此记录一下。如果没了解过这个芯片的朋友可能看不懂下面写的,了解过的懂得都懂。...

2022-07-17 20:00:00 5956 1

原创 基于MOS管的防反接电路设计仿真

本篇文章介绍基于MOS管的防反接电路设计,前面发过基于MOS的过压保护,其核心原理就是控制MOS的导通与关断。在防反接方面,也可以基于这一原理进行电路设计。

2022-07-16 22:00:00 2413

原创 基于PMOS的过压保护(OVP)电路仿真

本次利用protues对其进行仿真验证,下图是电路模型。

2022-07-16 20:00:00 3259

原创 STM32系列(HAL库)——多通道ADC转换+DMA

1、硬件:2、软件:1、配置RCC——选着外部时钟源2、配置SYS—— Serial Wire模式 3、时钟树拉满72M 4、配置串口1 5、配置DMA 6、配置ADC 7、生成工程 ②usart.c添加如下代码2、main函数①添加头文件②while(1)前添加③while(1)中添加四、效果...

2022-07-11 01:00:00 2813 2

原创 STM32系列(HAL库)——单通道ADC转换

本篇演示使用cubeMX配置STM32单通道ADC,话不多说,开始正文。1、硬件:2、软件:1、配置RCC——选着外部时钟源2、配置SYS—— Serial Wire模式3、时钟树拉满72M4、配置串口1 5、配置ADC 6、生成工程①勾选使用微库 ②usart.c添加如下代码2、main函数①添加头文件②while(1)前添加③while(1)中添加四、效果本文目的在于自我记录,没有大费篇幅讲解原理,若想更进一步了解推荐跳转:【STM32】HAL库 STM

2022-07-11 00:30:00 4210

原创 MC34063升压芯片——5V转12V、-12V仿真与实物制作

近期课设使用到运放电路,由于运放部分需要的是±12V供电,前面输入是5V,因此需要进行正负升压电路设计。 其实升压电路简单,网上一搜一大把,但是要5V转-12V却比较少,最后选定的方案是使用MC34063这款芯片,这款芯片能升降压,也能升负压。 这里给出芯片的数据手册:MC34063数据手册1.proteus仿真图 2.原理图1.数据手册电路 2.proteus仿真图 3.原理图 实物焊接时没有13K电阻,用的一个22K和一个33K并联代替13K电

2022-07-09 20:13:45 24854 18

原创 1.44寸TFT-LCD显示屏取模教程

目录1.软件包:点击下载 2.LCD_ASCLL码取模教程 3.LCD汉字取模教程 4.LCD图片取模教程 注:点阵要选择的数要大于字符所占字节数,例如8x16的字符所占字节为8x16/2=16,所以这里点阵选大于16就行。字宽字高都改为16,那么对应的ASCII码为8x16,字宽会变为原来的一半然后在输入栏输入ASCII码表 点击生成字模 生成的字模如下 8x16字模在例程lcdfont.h中已经取好 如下所示 然后在输入栏输入汉字 点击生成字模 生成的字模如下 然后将字模复制到例程lcd

2022-06-25 23:12:02 7890 4

原创 STM32系列(HAL库)——F103C8T6硬件SPI点亮带字库OLED屏

(1)编程平台:Keil5(2)CubeMX(3)程序:点击下载(1)1.3寸带字库OLED (2)F1的板子,本例使用经典F103C8T6(3)ST-link 下载器(4)杜邦线若干配置RCC配置SYS配置时钟树 添加工程文件 添加头文件路径会提示如下报错,双击错误跳转到oled.h (4)修改oled.c①①①修改头文件 ②②②修改写字节函数 ③③③修改初始化函数 (5)修改zk.c①①①修改写字节函数 ②②②修改读字节函数 (6)main.c①添加头

2022-06-21 17:33:30 5819 2

原创 AD20/Altium designer——过孔盖油

AD20/Altium designer——过孔盖油

2022-06-19 19:15:50 4702 1

原创 CubeMX——F1和G0系列外部中断回调函数差异

以前写代码,一些固定的代码总喜欢复制粘贴,然后在G0系列使用外部中断的时候。发现死活触发不了,一路检查了CubeMX的配置以及硬件连接,均发现没问题,然后发现G0系列的外部中断回调函数和F1系列的不一样,以下列举的是配置下降沿触发模式,主要差异如下:F1系列的外部中断回调函数如下void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin==EXIT_Pin) { // to do ...

2022-05-28 22:04:52 597

原创 STM32系列(HAL库)——内部FLASH读写实验_简约版

在此篇文章前,写过另外一篇关于STM32内部FLash读写的文章——点击跳转。之前那篇文章的代码是移植于正点原子的,比较复杂,因为它考虑了写入字节大于1K或2K时需要换页写入的问题。但是在实际使用过程中,我们需要写入的数据常常远小于1K,因此本篇文章的代码适用于写入小量数据使用(即小于1K或2K——取决于单片机最小写入页)。本次代码是借鉴了CubeMX固件库官方例程的代码,经过和上一篇代码结合整理,比较简约易懂。1.关于CubeMX的配置本次实验的选择的是STM32F103C8...

2022-05-28 21:08:03 7154 12

原创 STM32系列(HAL库)——F103C8T6通过SPI方式读写W25Q64—(Flash存储模块)

1.软件准备(1)编程平台:Keil5(2)CubeMX(3)XCOM(串口调试助手)2.硬件准备(1)W25Q64模块(2)F1的板子,本例使用经典F103C8T6(3)ST-link下载器(4)USB-TTL模块(5)杜邦线若干3.模块资料(1)模块简介:W25Q64(64M-bit),W25Q16(16M-bit)和W25Q32(32M-bit)是为系统提供一个最小的空间、引脚和功耗的存储器解决方案的串行Flas...

2022-05-10 20:05:24 9319 9

原创 AD20/Altium designer——如何从立创EDA专业版获取元器件的3D模型

对于大部分元器件的3D模型,我们可以从3D模型网站下载:3D ContentCentral 教程可参考:AD20/Altium designer——如何给元器件添加3D模型当然我们也以从立创EDA专业版下载元器件的3D模型,本篇将介绍如何从立创EDA下载元器件的3D模型。一、打开立创EDA专业版 立创EDA专业版在线网址:立创EDA专业版点击在线使用二、登录后新建工...

2022-04-30 14:59:43 6522 2

原创 STM32系列(HAL库)——F103C8T6通过IIC/I2C方式读写AT24C02—(EEPROM 存储模块)

1.软件准备(1)编程平台:Keil5(2)CubeMX(3)XCOM(串口调试助手)2.硬件准备(1)AT24C02模块(2)F1的板子,本例使用经典F103C8T6(3)ST-link下载器(4)USB-TTL模块(5)杜邦线若干3.模块资料(1)模块简介:AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02...

2022-04-25 21:36:52 6824 2

原创 STM32系列(HAL库)——F103C8T6点亮1.44寸TFT-LCD彩屏

1.软件准备(1)编程平台:Keil5(2)CubeMX(3)中景园屏幕资料链接:点击跳转 提取码:88882.硬件准备(1)1.44寸TFT彩屏(2)F1的板子,本例使用经典F103C8T6(3)ST-link下载器(4)杜邦线若干3.模块资料(1)模块简介:1.44寸彩色液晶显示模块,128x128分辨率,内置ST7735S控制器,可选配触摸屏,高画质,宽视角,支持8080 8-bit 并行接口与3线、4线串......

2022-04-18 22:12:28 17198 37

原创 STM32系列(HAL库)——内部FLASH读写实验

前言在某些情况下,我们想要实现单片机中某些数据实现断电保存或,这个时候我们可以添加外部存储器,但是这样就给硬件方面添加了工作量。如果单片机内部Flash空间余量可观,我们就可以使用剩余的这部分Flash空间做一些数据的存储。本篇将介绍如何对STM32的内部Flash进行读写。1.软硬件准备软件:CubeMX、Xcom(串口调试助手)硬件:SMT32F103C8T62.关于STM32的Flash的一些说明(1)STM32根据闪存(Flash)容量的大小,将Flash分为...

2022-04-15 22:22:41 23665 12

原创 STM32系列(HAL库)——F103C8T6驱动WS2812全彩RGB模块(PWM+DMA方式)

1.软件准备(1)编程平台:Keil5(2)CubeMX2.硬件准备(1)某宝买的RGB模块(4个灯珠级联)(2)F1的板子,本例使用经典F103C8T6(3)ST-link下载器(4)杜邦线若干3.模块资料(1)模块简介:没什么比手册讲得更加清楚了,模块中文数据手册:ws2812b中文资料_数据手册_参数(2)驱动原理:以上这是数据手册中提到的,WS2812驱动用的是单线归零码的通讯方式。不同占空比的方波代表1码或...

2022-04-10 17:40:42 13983 16

原创 AD20/Altium designer——如何快速批量调整丝印位置、大小

在PCB设计时,我们可能要对丝印进行特定调整,为了提高效率,本篇将介绍如何快速调整元器件编号丝印位置分布以及大小。1.部分丝印的调整如果我们不需要进行批量调整,可以参考一下步骤在一些复杂的PCB,我们可以在选择丝印层后,按下Shift+S键,可以更清楚地看清丝印布局,效果如下所示。2.批量设置元器件编号丝印位置3.批量设置元器件编号丝印大小...

2022-04-03 01:02:24 14266 2

最好用的截图、贴图软件工具Snipaste分享

Snipaste ,顾名思义, Snip + Paste ,截图 + 贴图。 Snipaste 完全免费,无任何功能限制。 使用方法可以参考:https://zhuanlan.zhihu.com/p/75778786

2022-10-15

视频转GIF软件,支持设置帧率、色彩

视频转GIF软件,支持设置帧率、色彩

2022-07-26

51单片机轻松入门___基于STC15W4K系列(C语言版)——51单片机入门推荐

51单片机入门、STC15入门都可参考本文档. STC15比传统STC89C51更强(代码基本共用),学会STC15其他系列STC单片机基本同时学会。 STC单片机对原有51内核进行了重大改进并增加了很多片内外设,第一代STC89系列单片机的性能就显著超越了AT89系列;又经历了几代的发展,现在STC已发展到了15系列,具有低功耗、低价位,高性能、使用方便等显著特点。 STC15系列单片机又分为多个子系列,STC15W100/STC15F100W 系列→STC15W201S系列→STC15W401AS系列→STC15W404S系列→STC15W1K16S系列→STC15F2K60S2系列→STC15W4K32S4系列等,

2021-10-31

空空如也

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

TA关注的人

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