自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(292)
  • 资源 (1)
  • 收藏
  • 关注

原创 STM32

第一种方式是,打开头文件,拉到最下面,查看有哪些函数,然后查看函数的定义函数的使用方法是。第二种方式,查看库函数用户手册,所有函数的介绍个使用方法。第三种方式,最后一种方式是百度,借助别人的代码进行使用。

2024-03-31 20:52:57 1059 1

原创 电容芯片手册的读取

封装是电容选型的一个比较重要的参数。

2024-09-02 15:14:53 467

原创 电阻器件的选型

30 打个 5折也可以,具体按照实际情况而定,电阻的额定功率还是要计算的0402 的功率是1 / 16 = 0.0625,使用功率的计算公式计算功率得到p = u^2 / R =3.3 -1.8 = 1.5 * 1.5 / 1000 = 0.0225 < 0.0625。远远的小于我们额定的功耗,这个时候是可以选择的,功率是有一个额度的降低的【要预留一定的空间】,还要考虑精度。上拉电阻:当信号为0的时候mos管没有导通,当信号为 1 的时候MOS管导通,前提是电阻有一个合适的阻值发光二极管才会亮。

2024-09-02 00:20:41 411

原创 Modbus 大小端问题

注:在做实验的过程中从机返回给主机的温湿度数据是反的,不是我们需要的,没有达到我们预期的效果,如何解决这个问题?C语言中除了8bit的char类型,还有16bit的short类型、32bit的long类型,对于超过8bit的数据的存储,必然存在如何将多个字节排序的问题,因此就导致了大端存储模式和小端存储模式;注:对于大端模式首先存储的是高字节,也就是高字节存储在低地址,如果是小端存储,首先存储低字节,低字节存储的低地址。注:ARM单片机的存储模式是小端模式,低地址存储的是低字节,高地址存储的是高字节。

2024-09-01 17:59:39 711

原创 【001】电阻器件参数介绍

这个值通常是由设备制造商根据设备的设计和安全标准来指定的,并且会在设备的铭牌或规格书中注明。电阻的阻值等于前面的有效位乘以10的几次方如 103 = 10 * 10^3 ,5.1k = 512 = 51 * 10^2。功率:额定功率是百分之70是1/10W,会有降低额度的情况【这个时候我们需要给出一定的额度流出一定的空间】注:0402电阻的尺寸是多少,表示的是0.04英寸 * 0.02英寸,表示的是多少毫米。注:选电阻时 首先看的是电阻的阻值。注:在电阻的阻值中R表示的是小数点。电阻的封装和温度系数。

2024-09-01 00:28:43 567

原创 WIFI 配网

配网:指的是外部向WiFi模块提供SSID和密码,以便Wi-Fi模块可以连接指定的热点常见的配网方式有:-键配网smart config、SoftAP配网、蓝牙配网、屏幕配网。

2024-08-27 21:42:33 953

原创 基于状态机实现WIFI模组物联网

如果成功的话就连接热点,如果失败就返回AT通信检查,如果AT通信检查还是失败就放回硬件复位这个状态,如果热点链接成功,就连接MQTT指令,如果失败就返回AT通信检查,如果成功就连接云平台通信,如果失败就返回AT通信检查这个状态。在这个过程中使用的是连接固定的热点,后续会连接可变动的WIFI热点,注上面的状态图是基于固定的WIFI热点连接的状态图形。注:这个指令是用于设置WIFI的工作模式,该指令表示的原因是设置WIFI的工作指令为客户端的工作模式。ATE 表示的是开启和关闭回显。5.0 模组初始化命令集。

2024-08-26 22:12:37 1939 6

原创 WIFI 模组8286驱动

原理图:注:使用的数串口1的引脚,PA1是发送端引脚,PA3是接收端引脚,PA7串口的使能位。

2024-08-24 11:21:29 617

原创 阿里IOT云平台搭建

以下界面表示开通成功,登录阿里云平台需要实名认证若没有实名认证需要先实名认证。打开网址进行登录,如果之前没有开通相关服务的点击立即开通按钮。开通成功后点击进入进行设备的绑定配置。显示开通中:我们需要等待一段时间。到此互联网那云平台的环境搭建完成。选择功能定义选项卡,编辑草稿按钮。点击完成按钮完成设备的添加。

2024-08-23 17:06:29 217

原创 AT 指令和WIFI模组

此次使用到的wifi模组是乐鑫的wifi模组esp8684,该wifi模组内部集成了MQTT协议启动模式配置:GPIO8 和 GPIO9 这个管脚是用于配置启动模式的,esp8684这款wifi模组有两种启动模式,第一种启动模式是从flash中启动,第二种是下载启动模式。

2024-08-23 11:08:32 750

原创 获取字符数组中的数据

嵌入式

2024-08-23 09:51:38 534

原创 LCD 驱动

2.0 宏定义GPIO引脚3.0 LCD 时序注:这里的 代表的是“Register Select”信号,它是 LCD 控制信号之一,用于选择数据寄存器或命令寄存器。RS = 1 表示的数数据,RS = 0, 表示的是命令。注:8080写时序,数据(RS=1)/命令(RS=0)在WR的上升沿,写入LCD驱动IC,RD保持高电平。注:8080读时序,数据(RS=1)/命令(RS=0)在RD的上升沿,读取到MCU,WR保持高电平。4.0 LCD 控制函数

2024-08-22 16:39:43 1187

原创 LCD 显示字符

使用显示图片的方式显示字符会浪费存储空间,显示字符的时候字符的笔画是一个固定的颜色,因此不用使用显示图片的方式,可以使用1 表示字符的本身,0 表示字符的背景,使用这种方式显示字符节省存储空间。函数的参数个数最好不要超过4个,注:取模的时候每一行一定要对应一个字符,使用取模软件的时候最好自己计算一下否则后面生成的数组可能会出现一个字符显示三行的情况,具体操作如下所示。输出的数据:是16进制的颜色还是其他进制的格式,液晶面板仿真表示软件里面给我们呈现出来的颜色,实际上输出的还是字符。

2024-08-20 17:38:46 640

原创 LCD 图片格式转换

注:使用该软件对相关的图片进行编码格式转换。1.0 打开image2Lcd软件。2.0 设置图片转化语言及格式。3.0 转换后的图片格式。

2024-08-20 16:06:54 217

原创 PM25传感器驱动

../** @brief : 数据包格式,帧头: 0x42 0x4d ,数据高8位:0x00 0x1C...* @param : 无参数* @param : 无参数* @retval: 无返回值* @author: _沧浪之水_*/#define PACKET_DATA_LEN 32 // 数据包长度#define MAX_BUF_SIZE 32 // 数据空间大小// 静态全局数组。

2024-08-14 16:44:10 368

原创 GD32 SPI驱动代码

/ 片选// SPI引脚电平// 主机输出从机输出// 主机输出从机输入。

2024-08-10 17:36:11 528

原创 SRAM 与 EXMC

SRAM 属于数RAM的一种,RAM和ROM是相对而言的,使用SRAM写入数据5只需要写入一次即可只要数据不掉电写入的数据就会一直存在,DRAM需要一直刷新,如果不刷新数据就会丢失。

2024-08-07 17:11:04 433

原创 ARM 单片机启动流程

在做项目的过程中,可能会遇到死机的问题,因此作为一名嵌入式工程师我们需要了解单片机的启动流程这对于我们解决程序中的问题有非常大的帮助。

2024-08-06 16:49:37 1287

原创 FLASH 内部存储

若FMC_CTLx寄存器的ENDIE位被置1,则FMC将触发一个中断。任何对FMC_KEY0寄存器的错误操作都会将LK位置1,从而锁定FMC_CTL0寄存器,并引发一个总线错误。第二层解锁过程也是两次写操作,向FMC_OBKEY寄存器先后写入0x45670123和0xCDEF89AB,然后硬件将FMC_CTL0寄存器的OBWEN位置1。对于GD32F30x_CL和GD32F30x_XD, FMC_CTL0寄存器用来设置对bank0和选项字节块的操作, FMC_CTL1寄存器用来设置对bank1的擦写操作。

2024-08-06 15:33:22 645

原创 GD32 SPI 通信协议

SPI是一种串行通信接口,相对于IIC而言SPI需要的信号线的个数多一点,时钟的信号是主机产生的。主机发送,从机接收主机接收,从机发送表示的是片选信号都是单向的SPI 支持一主多从,一个主机可以用来驱动控制多个从机,所有SPI设备的SCK、MOSI、MISO分别连在一起,主机另外引出多条SS控制线,分别接到各从机的SS引脚,输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入。

2024-08-05 22:52:26 522

原创 GD 32 IIC 驱动代码

学会IIC驱动的原理,时序和代码实现宏定义的作用是简化程序,防止程序出现魔鬼数字,本质是温文本展开,注意优先级问题// 宏定义SCL 与 SDA#define GET_I2C_SDA() gpio_input_bit_get(GPIOB,GPIO_PIN_7) // 读取SDA端口#define SET_I2C_SCL() gpio_bit_set(GPIOB, GPIO_PIN_6) // 时钟线SCL输出高电平。

2024-08-05 16:37:39 1060

原创 GD 32 产品配置参数存储方案

........

2024-08-04 18:32:35 246

原创 GD 32 IIC通信协议

..

2024-08-04 11:25:29 663

原创 Modbus 移植

..

2024-08-03 18:20:44 447

原创 Modbus协议

..Modbus协议是工业领域中一种非常流行的通信协议,用于连接工业电子设备,如可编程逻辑控制器(PLCs)、传感器、执行器和其他工业自动化组件,Modbus协议最初由Modicon公司(现在的施耐德电气的一部分)在1979年开发,目的是为了使不同制造商的设备能够在同一网络中通信,由于其开放性和简单性,Modbus迅速成为工业通信的标准之一。

2024-08-02 18:08:50 980

原创 RS485电气协议

..RS-485(也称为TIA/EIA-485或EIA-485)是一种用于串行通信的电气标准,由美国电子工业联盟(Electronic Industries Alliance, EIA)定义。它最初是为了改善RS-232标准在长距离和多点网络上的性能而开发的,尤其是在工业自动化、楼宇自动化、过程控制以及数据采集系统中广泛使用。

2024-08-02 17:40:47 470

原创 C 语言二分查找法

二分查找法用于查找一个有序数组中某个目标值是否存在,或者接近目标值的元素;相比把。

2024-08-02 00:40:41 797

原创 C 语言快速排序算法

【代码】C 语言快速排序算法。

2024-08-01 22:33:12 185

原创 GD 32 滤波算法

【代码】GD 32 滤波算法。

2024-08-01 17:12:41 261

原创 GD32 ADC模数转换器

..12 位 ADC 是一种采用逐次逼近方式的模拟数字转换器。它有 18 个多路复用通道,可以转换来自 16 个外部通道和 2 个内部通道的模拟信号。模拟看门狗允许应用程序来检测输入电压是否超出用户设定的高低阈值。各种通道的 A/D 转换可以配置成单次、连续、扫描或间断转换模式。ADC 转换的结果可以按照左对齐或右对齐的方式存储在 16 位数据寄存器中。片上的硬件过采样机制可以通过减少来自 MCU 的相关计算负担来提高性能。

2024-08-01 11:06:03 1309

原创 GD 32独立看门狗

..独立看门狗定时器(FWDGT)有独立的时钟源(IRC40K)。因此就算是主时钟失效了,它仍然能保持工作状态,这非常适合于需要独立环境且对计时精度要求不高的场合。当内部向下计数器的计数值达到0,独立看门狗会产生一个复位。使能独立看门狗的寄存器写保护功能可以避免寄存器的值被意外的配置篡改。

2024-07-29 16:00:03 614 1

原创 GD 32 UNIX时间戳

..UNIX时间戳是一种表示时间的方法,广泛用于计算机系统和网络协议中。它定义的时间起点是1970年1月1日午夜(协调世界时UTC),也就是所谓的“UNIX纪元”开始的时刻。

2024-07-29 00:42:29 1241

原创 GD32 PWM输入捕获

通过本次的学习,了解定时器的分类和配置,高级定时器,通用定时器等不同等级的定时器拥有的功能,学习定时器的输入捕获与输出比较功能(PWM)脉冲宽度调制,来控制电机等外设。定时器的分类在GD32这款单片机中不同的单片机拥有的功能数不同的,其中高级定时器的功能最多,通用定时其次,基本定时的功能最少。高级定时器简介高级定时器(TIMER0 和 TIMER7)是四通道定时器,支持输入捕获和输出比较。可以产生 PWM信号控制电机和电源管理。高级定时器含有一个 16 位无符号计数器。

2024-07-27 21:52:22 1580

原创 GD 32 定时器

通过本次课程学会定时器的使用,定时器的分类,定时器的配置如果定时器的的时钟频率为120Mhz的时钟主频,那么计时的周期就是1/120us如果是从0开始计数那么对应的时间就是120 * 1 /120 us,过去的时间就是1us。如果定时器的值计数值计数到12000的时候计数值清除为0,然后系统会产生一个定时中断,定时器计时的时间就是12000 * (1 /120)us = 100us ,预分频器也就是调整进入到计数器的时钟频率。

2024-07-26 11:08:40 982

原创 GD 32 流水灯

通过后面的学习掌握了一些逻辑架构的知识,通过复习的方式将学到的裸机任务架构的知识运用起来,同时巩固前面学到的知识,GPIO的配置等。开发板上LED引脚使用示意图注:此次LED灯的点亮凡是是高电平点亮,因为电流是从外部向内部进行流动,GND会引脚的店电平拉低,如果给低电平的话无法形成电势差,电流是无法流动的,给一个高电平,电流在电压的作用下点亮LED灯第一种实现方式这种方式类似于STM32的库函数编程,不使用结构体使用直接编写的方式进行配置,可以作为参考对比学习。

2024-07-23 16:49:46 377

原创 ARM 单片机裸机任务调度框架

在没有使用操作系统的情况下,一个合理的裸机任务调度方式,可以更好的提供数据的处理,和用户体验,有多种任务调度的方式。仅介绍任务调度框架,具体使用第三种的任务调度方式,参考郭天祥老师ARM32教程仅用于学习参考。

2024-07-22 21:32:15 1304

原创 GD 32空闲中断DMA串口接收

通过本次代码的学习,搞懂USART配置,DMA配置,数据校验,数据接收,进一步巩固串口发送和接收知识,了解指针和结构体的使用。这是初步编写的学习总结,参考自郭天祥老师的ARM32教程,后续会进一步完善,仅用于学习参考。

2024-07-22 20:44:48 1093

原创 GD 32 环形队列

环形队列的使用。

2024-07-21 10:05:22 384

原创 C 语言回调函数

函数指针,回调函数的理解

2024-07-20 22:56:25 303 1

原创 GD 32串口接收数据

MCU 只发送命令接收响应。

2024-07-20 11:09:35 723

1450个超全的Pr模板.zip

1450个超全的Pr模板.zip

2021-06-10

空空如也

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

TA关注的人

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