自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Car12

主要从事Visual C++开发,Linux开发,STM32

  • 博客(24)
  • 资源 (46)
  • 收藏
  • 关注

原创 ssd1306 OLED 初始化流程

参考博客:https://blog.csdn.net/qq_42992084/article/details/89977888第一次初始化流程第二个初始化流程void OLED_Init(void){ OLED_Config(); OLED_SCK(HIGH); // 空闲态时,SCLK处于高电平 OLED_CS(HIGH); // 关闭选择输入 /* 从上电到下面开始初始化要有足够的时间,即等待 RC复位完毕 */ O...

2021-07-31 23:24:09 12124 1

原创 STM32 DMA控制器

三种传输模式 外设到存储器传输 存储器到外设传输 存储器到存储器传输两个 DMA 控制器 每个 DMA 控制器具有 8 个数据流 每个数据流对应 8 个外设请求 每个数据流都独立拥有四级 32 位 (4个字节) FIFO(先进先出存储器缓冲区) 外设对应的数据流通道FIFO 有4字的FIFO(16个字节的FIFO) 直接模式:每个外设请求都立即启动对存储器传输 突发模式:突发...

2021-07-27 23:38:00 836 5

原创 0603 0402 0805 电阻封装寸尺

2021-07-27 14:52:47 562

原创 有源蜂鸣器和无源蜂鸣器的区别

首先大家要了解有源和无源这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。这就是通过驱动原理来分别的方法。我们再来看看外观上区别:从图a、b外观上看,两种蜂鸣器好像一样,但仔细看,两者的高度略有区别,有源蜂鸣器a,高度为9mm,而无源蜂鸣器b的高度为8mm。如将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色...

2021-07-27 13:45:01 3506

原创 STM32F407ZGT6 fatfs出现挂载成功,但是文件读写失败的原因

fatfs 出现挂在成功,但是文件读写失败的原因可能是文件系统损坏,需要在首次挂载文件系统以后重新格式化文件系统文件系统测试代码void testfatfs(){ printf("****** 这是一个SPI FLASH 文件系统实验 ******\r\n"); SPI_FLASH_Init(); HAL_Delay(500); id = SPI_FLASH_ReadID(); printf("flash id =%x \r\n",id); //在外部SPI F

2021-07-25 19:41:37 6265

原创 2021-07-25 野火板子25MHz晶振改为正点原子8MH晶振

这一步之前没有想到

2021-07-25 17:21:58 562

原创 TVS二极管和稳压二极管区别和原理

1、稳压二极管稳压二极管是一种利用PN结处于反向击穿电压基本保持不变,但是电流可以在一定范围值内变化,稳压二极管在反向击穿电压前具有高阻态,超过这个临界点就处于低阻态。稳压二极管广泛应用于各类稳压电路、电压基准元器件等场合,它可以串联使用,这样可以获得更高的稳压值。稳压二极管在电路中常用“ZD”表示,稳压二极管最主要的几个参数有:稳压值、耗散功率、最大工作电流,在设计电路时候要充分考虑这三个因素,如下图是阻容降压电路,电压输出12V,采用1N4742A稳压二极管,它的稳压值是12V,

2021-07-23 23:26:26 1936

原创 一文看懂压敏电阻和tvs的区别

压敏电阻描述  一、压敏电阻简介  “压敏电阻“是一种具有非线性伏安特性的电阻器件,主要用于在电路承受过压时进行电压钳位,吸收多余的电流以保护敏感器件。英文名称叫“VoltageDependentResistor”简写为“VDR”,或者叫做“Varistor”。压敏电阻器的电阻体材料是半导体,所以它是半导体电阻器的一个品种。现在大量使用的“氧化锌”(ZnO)压敏电阻器,它的主体材料有二价元素锌(Zn)和六价元素氧(O)所构成。所以从材料的角度来看,氧化锌压敏电阻器是一种“Ⅱ-Ⅵ族氧化物半导体

2021-07-23 22:15:55 690

原创 flash 4K扇区写入函数

流程图u8 W25QXX_BUFFER[4096];void W25QXX_Write(u8 *pBuffer, u32 WriteAddr, u16 len){ uint32_t write_len = len; uint32_t section = 0; uint32_t offset = 0; uint32_t remain = 0; uint8_t erase = 0; while (write_len > 0) { erase = 0; secti

2021-07-13 20:50:50 502 1

原创 使用NRF2401 STM32F303ZET6 NUCLEO 开发板

#ifndef __24L01_H#define __24L01_H#include "sys.h"////////////////////////////////////////////////////////////////////////////////////本程序只供学习使用,未经作者许可,不得用于其它任何用途//Mini STM32开发板//NRF24L01 驱动函数//正点原子@ALIENTEK//技术论坛:www.openedv.com//修改日期...

2021-07-10 11:50:18 516 2

原创 开关管三极管和MOS管的选择

(1)控制方式不同,三极管是电流型控制元器件,而MOS管是电压控制元器件,三极管导通所需的控制端的输入电压要求较低,一般0.4V~0.6V以上就可以实现三极管导通,只需改变基极限流电阻即可改变基极电流。而MOS管为电压控制,导通所需电压一般4V~10V左右,且达到饱和时所需电压一般6V~10V左右。在控制电压较低的场合一般使用三极管作为开关管,也可以先使用三极管作为缓冲控制MOS管,一般控制电压高的场合使用MOS管,比如单片机、DSP、powerPC等处理器I/O口电压较低,只有3.3V或2.5V,一般不会

2021-07-09 21:47:46 2451 1

原创 三极管基本知识

导通条件NPN型三极管的导通条件是C点电位>B点电位>E点电位,三极管饱和导通的条件是Ub>Ue,Ub>Uc。PNP型三极管的导通条件是E点电位>B点电位>C点电位,三极管饱和导通的条件是Ue>Ub,Uc>Ub。NPN型三极管1、定义:NPN型三极管,由三块半导体构成,其中两块N型和一块P型半导体组成,P型半导体在中间,两块N型半导体在两侧。三极管是电子电路中最重要的器件,它最主要的功能是电流 放大和开关作用。半导体三极管也称为晶体三极管,

2021-07-06 12:59:07 26182 1

原创 MFC 获取其他窗口的Edit文本和单击Button

auto hmain = ::FindWindow(NULL, L"MFCApplication2"); if (hmain) { //获取窗口句柄 CRect rect; ::GetWindowRect(hmain, rect); CString str; CPoint user_pt; //将user_pt点定位到用户名框内 user_pt.x = rect.left + 109+10; user_pt.y = rect.top + 148+10.

2021-07-06 10:30:17 804

原创 PID 多环控制

速度环的后级,再串上一个电流环,以前级的输出 (这里指速度环的输出),作为后级的输入 (这里指作为电流环的输入),最终后级 (电流环) 的输出最终实现在执行机构上, 以形成双反馈控 制的效果。在串级 PID 控制中,最外环一般选择期望控制的参数的环节,例如对应速度快慢的速度环、位置的位置环、电流大小的电流环大小,本代码的选择位置环作为最外环,位置作为控制量,期望控制电机实际位置。...

2021-07-05 18:01:42 2566 1

原创 芯片电源引脚的电容选择

主要内容参考如下 DC-100K 10uF以上的钽电容或铝电解 100K-10M 100nF(0.1uF)陶瓷电容 10M-100M 10nF(0.01uF)陶瓷电容 100M以上 1nF(0.001uF) 陶瓷电容和PCB的地平面与电源平面的电容 所以,以后不要见到什么都放0.1uF的电容,有些高速系统中这些0.1uF的电容根本就起不了作用。其他知识先来看看电容,电容的作用简单的说就是存储电荷。我们都知道在电源中要加电容滤波,在每个芯片的电源脚放置一

2021-07-05 15:35:29 4073 2

原创 有源蜂鸣器的驱动设计

核心知识以下电路可以有效的实现蜂鸣器的关断消除蜂鸣器EMI辐射R2的作用第一个作用:R2 相当于基极的下拉电阻第二个作用:R2可提升高电平的门槛电压假定β =120为晶体管参数的最小值,蜂鸣器导通电流是15mA。那么集电极电流IC=15mA。则三极管刚刚达到饱和导通时的基极电流是 IB=15mA/120=0.125mA。流经R2的电流是0.7V/3.3kΩ=0.212mA,流经R1的电流 IR1=0.212mA +0.125mA=0.337 mA。最后算出BUZZER端的门槛电压

2021-07-05 15:29:00 2141

原创 markdown文件便捷说明

参考文章https://zhuanlan.zhihu.com/p/99319314#一级标题大发发发dfafaf##二级标题正文内容###三级标题<!--下边是个分割线-->****************第一项*第一节*第二节*第三节*第二项*第三项*第四项+第一项+第一节+第二节+第三节+第二项+第三项-...

2021-07-04 23:28:48 113

原创 电机原理和参数

1.编码器增量编码器只输出设备的位置变化和方向;根据信号的相位来判定方向;脉冲的频率判定速度;z通道只有一个信号,可以判定位置绝对编码器,含有多个码道1.1.编码器参数分辨率: 一圈产生的脉冲数量;ppr,其分辨率表示为编码器转轴旋转一圈所产生的脉冲数,即脉冲数/转 也叫多少线精度: 读数和实际位置的最大误差,角度、角分,最大响应频率, 每秒输出的脉冲数量信号输出形式 直接/协议1.2.STM32编码器结构图 1-1STM32编码器结构1.3.电机速度、方向的计算方法编码器

2021-07-04 15:55:39 3164

原创 CubeMX的代码生成设置

主要是以.c .h 形式生成初始化代码

2021-07-04 13:01:33 541

原创 PID算法学习笔记

位置式PID算法积分环节替换为累计的形式实现/** * @brief PID算法实现 * @param actual_val:实际值 * @note 无 * @retval 通过PID计算后的输出 */float PID_realize(float actual_val){ /*计算目标值与实际值的误差*/ pid.err=pid.target_val-actual_val; /*误差累积*/ pid.integral+=pid.err; /*

2021-07-04 00:44:28 2372 3

原创 STM32 编码器的CUBEMX的使用

CubeMx的设置方法CubeMx生成编码的相关代码底层初始化/*** @brief TIM_Encoder MSP Initialization* This function configures the hardware resources used in this example* @param htim_encoder: TIM_Encoder handle pointer* @retval None*/void HAL_TIM_Encoder_MspInit(TIM_Hand

2021-07-04 00:08:44 1339 2

原创 按键检测电路和代码

硬件电路设计了电容硬件滤波,设计TVSuint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin){ /*检测是否有按键按下 */ if(HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == KEY_ON ) { /*等待按键释放 */ while(HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == KEY_ON); return KEY_ON; } else re

2021-07-03 22:37:58 1740

原创 VSCODE打开野火电机代码需要增加的配置 c_cpp_properties.json

不增加配置找不到函数的定义settings.json{ "files.associations": { "bsp_debug_usart.h": "c" }, "C_Cpp.inactiveRegionOpacity": null, "C_Cpp.intelliSenseEngineFallback": "Disabled", //需要添加的 "C_Cpp.intelliSenseEngine": "Tag Parser",}c_cpp_pro

2021-07-03 13:56:37 324

原创 PID算法的EXCEL模拟实现

增量式PID算法公式:在表格里可以看见PID算法在目标值和实际值差异较大时,控制量也很大,主要是比例环节起到主要的调节作用,在目标值和实际值相等时,主要的控制量是积分环节,比例和微分环节不参与控制;...

2021-07-03 13:16:07 1712

stm32 8080时序驱动lcd屏幕

内部含有多个驱动代码和lvgl移植示例代码

2024-09-01

fal移植测试demo

FAL (Flash Abstraction Layer) Flash 抽象层,是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及 分区操作的 API (框架图如下所示),并具有以下特性: - 支持静态可配置的分区表,并可关联多个 Flash 设备; - 分区表支持 **自动装载** 。避免在多固件项目,分区表被多次定义的问题; - 代码精简,对操作系统 **无依赖** ,可运行于裸机平台,比如对资源有一定要求的 Bootloader; - 统一的操作接口。保证了文件系统、OTA、NVM(例如:[EasyFlash](https://github.com/armink-rtt-pkgs/EasyFlash)) 等对 Flash 有一定依赖的组件,底层 Flash 驱动的可重用性; - 自带基于 Finsh/MSH 的测试命令,可以通过 Shell 按字节寻址的方式操作(读写擦) Flash 或分区,方便开发者进行调试、测试;

2024-08-13

Agile Modbus移植教程-基于GD32F103C8T6+RT-Thread+mdk5

轻量型 modbus 协议栈

2024-08-13

基于N32L406+FlashDB(时序数据库 时序数据库)+mdk5 移植教程

一款超轻量级的嵌入式数据库,专注于提供嵌入式产品的数据存储方案。FlashDB 不仅支持传统的基于文件系统的数据库模式,而且结合了 Flash 的特性,具有较强的性能及可靠性。并在保证极低的资源占用前提下,尽可能延长 Flash 使用寿命 FlashDB 提供两种数据库模式: - **键值数据库** :是一种非关系数据库,它将数据存储为键值(Key-Value)对集合,其中键作为唯一标识符。KVDB 操作简洁,可扩展性强。 - **时序数据库** :时间序列数据库 (Time Series Database , 简称 TSDB),它将数据按照 **时间顺序存储** 。TSDB 数据具有时间戳,数据存储量大,插入及查询性能高,数据写满后默认状态是**滚动写入**(也可以设置不覆盖方式)

2024-08-01

基于N32L406MB EasyFlash参数(key-value)记录库移植

[EasyFlash]是一款开源的轻量级嵌入式Flash存储器库,方便开发者更加轻松的实现基于Flash存储器的常见应用开发。非常适合智能家居、可穿戴、工控、医疗、物联网等需要断电存储功能的产品,资源占用极低,支持各种 MCU 片上存储器

2024-07-31

基于N32L406的EasyLogger日志库移植教程

基于N32L406的EasyLogger日志库移植教程

2024-07-31

N32L40x letter-shell终端裸机移植

[letter shell]是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数

2024-07-31

基于N32L406 Freertos letter-shell开源终端移植

letter_shell 是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数 相对2.x版本,letter shell 3.x增加了用户管理,权限管理,以及对文件系统的初步支持 此外3.x版本修改了命令格式和定义,2.x版本的工程需要经过简单的修改才能完成迁移 若只需要使用基础功能,可以使用letter shell 2.x

2024-07-31

N32L406x+MultiButton+Mdk5移植教程

N32L406x+MultiButton+Mdk5移植教程

2024-07-30

N32L406 移植MultiTimer教程 mdk5

MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。

2024-07-30

基于N32L40x CmBacktrace mdk5平台下的移植测试

N32L40x CmBacktrace Freertos 测试使用

2024-07-30

基于stm32f103rc+lvgl8.2移植

lvgl

2024-07-28

基于N32L40x+w25q16+sfud nor flash开源库移植

基于N32L40x+w25q16+sfud nor flash开源库移植

2024-07-04

N32G45x基于串口IAP实现(含升级工具)

N32G45x基于串口IAP实现(含升级工具)

2024-06-22

中景园1.08寸128x160屏幕移植lvgl

中景园1.08寸128x160屏幕移植lvgl

2024-04-14

移植中景园的1.8寸128x160 的lvgl代码

移植中景园的1.8寸128x160 的lvgl代码

2024-04-14

N32L40x基于串口IAP实现(含升级工具)

N32L40x基于串口IAP实现(含升级工具)

2024-03-10

沁恒CH32V30X学习笔记12-PWM输出

沁恒CH32V30X学习笔记12-PWM输出

2024-02-19

沁恒CH32V30X学习笔记11-使用外部时钟模式2采集脉冲计数

沁恒CH32V30X学习笔记11-使用外部时钟模式2采集脉冲计数

2024-02-19

沁恒CH32V30X学习笔记08-基本定时器超时功能

沁恒CH32V30X学习笔记08-基本定时器超时功能

2024-02-19

沁恒CH32V30X学习笔记09-使用TIM 外部时钟1模式实现硬件计数

沁恒CH32V30X学习笔记09-使用TIM 外部时钟1模式实现硬件计数

2024-02-19

沁恒CH32V30X学习笔记08-基本定时器超时功能

沁恒CH32V30X学习笔记08-基本定时器超时功能

2024-02-19

沁恒CH32V30X学习笔记07-多功能按键框架使用

沁恒CH32V30X学习笔记07-多功能按键框架使用

2024-02-19

沁恒CH32V30X学习笔记06-串口dma接收+空闲中断组合接收数据

沁恒CH32V30X学习笔记06-串口dma接收+空闲中断组合接收数据

2024-02-18

沁恒CH32V30X学习笔记05-串口接收中断和空闲中断组合接收数据

沁恒CH32V30X学习笔记05-串口接收中断和空闲中断组合接收数据

2024-02-18

沁恒CH32V30X学习笔记02-GPIO的使用教程及2次封装驱动

沁恒CH32V30X学习笔记02-GPIO的使用教程及2次封装驱动

2024-02-18

N32L40X学习笔记06-串口dma空闲中断+dma接收数据

N32L40X学习笔记06-串口dma空闲中断+dma接收数据

2024-01-24

N32L406MBL7_DMA_ILD_UART修订.zip

N32L406MBL7_DMA_ILD_UART修订

2024-01-24

N32G430学习笔记9-串口dma方式收发数据+printf的代码版本

N32G430学习笔记9-串口dma方式收发数据+printf的代码版本

2024-01-23

基于gd32f103移植freemodbus master 主栈

基于gd32f103移植freemodbus master 主栈

2024-01-18

GD32F103C8T6移植 RTT Nano 教程

GD32F103C8T6移植 RTT Nano 教程

2024-01-17

基于GD32F103使用串口不同的中断实现freemodbus移植

基于GD32F103使用串口不同的中断实现freemodbus移植

2024-01-16

基于gd32f103c8t6移植的freemodbus工程

基于gd32f103c8t6移植的freemodbus工程

2024-01-16

基于AT32F421的freemodbus 移植

移植freemodbus示例代码

2024-01-15

韦东山老师的从0写RTOS笔记

韦东山老师的从0写RTOS笔记

2023-11-12

N32L406MB在RT-thread系统中读取eeprom数据

N32L406MB在RT-thread系统中读取eeprom数据

2023-08-06

【RTT驱动框架分析03】- sfus flash 操作库的分析和基于STM32F103RCT6+CUBEMX的SFUS移植教程

【RTT驱动框架分析03】- sfus flash 操作库的分析和基于STM32F103RCT6+CUBEMX的SFUS移植教程

2023-07-30

can通讯测试源码包,主要是过滤规则的测试源码

can通讯测试源码包,主要是过滤规则的测试源码

2023-04-05

N32G430的freertos模板工程

N32G430的freertos模板工程

2023-03-26

国民技术N32G430C8L7串口IAP 升级代码

国民技术N32G430C8L7串口IAP 升级代码

2022-10-06

空空如也

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

TA关注的人

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