自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(365)
  • 资源 (5)
  • 收藏
  • 关注

原创 Cadence

三极管在TRANSISTOR PNP三极管 2N1132A, NPN三极管 2N2218。只有电源类VDD GND 都是Power的,不用区分,普通引脚不能同名,要区分。电源VDD GND引脚 要改为Power ,一般的引脚都是Passive。RESET# 后面带#代表低电平有效,也可以R\E\S\E\T。section有几个部分就填几,如果有A B C D,那就填4。开关 SW PUSHBUTTON-SPST-NC。也可以同样的方式选择我们自建的库。无极性电容 CAP NP。

2026-05-05 20:32:10 333

原创 Allergo Cadence学习笔记

FINISH 存放项目完成之后最终版本的PCB 原理图 和Gerber相关的文件。正常我们的Gerber里面需要包含两个电气层,如果四层板就是四个电气层,如果是十层版就是十个电气层。ETCH/BOTTOM 底层走线层。以上是电气层的部分,接下来我们需要添加丝印层、阻焊层、钢网层、参考信息层。设置封装库路径,如果不设置封装库路径,导入网格表的时候就会缺少封装。一般情况下,这些全部勾选,如果不勾选,那么通孔焊盘看起来会像表贴的。

2026-04-25 21:56:46 434

原创 stm32f103c8t6主控最小电路

首先把BOOT0接地,那就是0,这样会去flash里面执行程序,如果拉高是可以用其他烧录方式。器件:TAXM8M4RDBCCT2T 会比XL2EL89COI-111YLC-8M便宜。参考别人画的,是这样的,本次无人机用外部高速晶振就行,外部低速晶振太慢了,不画了。主控电源滤波 因为有4个VSS VDD所以接四个电容。器件:3111-08RG0BK00T1。做个标记NC表示后续PCB那不连接。器件:SKRPACE010。

2026-03-08 12:11:19 88

原创 四轴无人机

型 前后两个控制前后,左右两个控制左右X 型 往前飞的话,后面两个要加速,前面两个减速,四个都要使用。

2026-03-02 22:14:12 90

原创 ESP-IDF 中基于 FreeRTOS 实现GPIO 中断处理

【代码】ESP-IDF 中基于 FreeRTOS 实现GPIO 中断处理。

2026-02-27 00:07:16 103

原创 ESP32S3 下载烧录

下载安装后,要和VS Code 的插件配合起来,新版不太一样,不知道如何导入,但是发现VS Code 直接有。先选择目标芯片,再配置menu config ,最后编译下载就可以。项目生成的bin文件找到复制到下载工具的bin文件夹中。前面下载插件ESP-IDF版本里有例程。把bin的3个都选中,右边的是偏移地址。以例程helloworld为例。Ctrl + ] 可以结束终端。VSCODE的下面都可以。点这个编译烧录终端显示的。其中ESP-IDF参考。在线的安装感觉不太好用。测试用的两个直接删除。

2026-02-26 22:29:00 621

原创 ESP-IDF 新版

VS Code新版和旧版差距比较大。

2026-02-23 20:04:31 150

原创 STM32CUBEIDE Hal

AIRCR中断和复位控制寄存器0-7 位设置抢占优先级和子优先级 8位=256种组合8到10位是优先级的分组 3位 =8种组合抢占优先级和子优先级的作用:触发中断的时候,抢占优先级就可以先抢下这个位置,当抢占优先级越高就会优先触发,而当抢占优先级相同时,子优先级高的就会优先触发下表第一列也就是优先级分组 8种组合,后面是抢占优先级和子优先级,我们知道共有8位,如果抢占占7位那就是128,子占1位那就是2对于STM32F103C8T6。

2026-02-12 19:23:55 648

原创 STM32CUBEIDE用STLINK下载以及失败解决

先下载STM32 ST-LINK Utility。调试选择JTAG 4 pins 默认没有调试。下载好后,boot 0跳帽要连1。

2026-02-07 22:34:36 257

原创 ESP32C3编写AT驱动代码

输入 python at.py modify_bin --tx_pin 7 --rx_pin 6 --cts_pin -1 --rts_pin -1 --input factory_MINI-1.bin 然后回车。现在重新下载一下ESP32的固件到板子ESP32。把at.py放在下载的固件factory里。这样就修改好了AT固件的UART。会生成target.bin这个文件。SSCOM不要占用端口。

2026-01-29 17:33:32 119

原创 ESP32C3 AT

既可以连WIFI又可以连蓝牙的一个无线射频模块。

2026-01-27 23:15:48 244

原创 L C D

240*320:决定 SPI 时钟线(SCK)在的电平:决定数据在时钟的被采样这两个参数组合出。

2026-01-25 13:51:13 871

原创 SPI基础

SPI传输速度远远快于I2C,并且是全双工可以同时接收和发送,而I2C是半双工,只有一条时钟线SCL和一条数据线SDA,要么发送要么接收不能同时。单片机一般采用320*240分辨率 RGB565 6+5+5=16bit=2Byte。SPI的是MOSI MISO。

2026-01-14 00:58:41 152

原创 中断(按键、SYSTICK、串口)

SystemCoreClock是内核主频,因为我用的芯片主频168MHz,其实啥主频都是这么写,SystemCoreClock如果是168MHz,也就是每秒能数 1.68 亿次(168000000Hz,1MHz=1000KHz=1000000Hz),数完也就是过了1s,1s/1000=1ms,减1的原因是(比如10到1,就正好10个,但是现在是10到0,最终到0,所以多了一次要减1),所以SysTick->LOAD=SystemCoreClock/1000 -1这个表示load减到0就过去了1ms。

2026-01-09 23:14:05 388

原创 按键与中断

没按下时KEY1连接R16到3V3,所以没按下时是高电平,按下时导通到GND,按下是低电平按键是输入,按键对应的GPIO这个不需要设置上拉和下拉。

2026-01-03 20:10:29 230

原创 STM32F4串口通信原理与应用

LSB 低位在前,MSB高位在前串口1。

2025-12-31 00:14:24 241

原创 STM32F407 systick延迟

SystemCoreClock:STM32F4 的核心时钟(默认 / 常用为 168MHz,即 168,000,000 Hz)所以 168MHz = 168 × 1000000 次 / 秒 = 168000000 次 / 秒。168,000,000/1000/1000=168次/us,1us有168次,要多少us乘多少。MHz(兆赫兹) = 10^6 Hz(1 兆 = 100 万)Hz(赫兹) = 「次 / 秒」(每秒完成的周期数)168MHz 是 STM32 内核时钟的频率。

2025-12-27 22:29:12 244

原创 机械狗软件部分

/---按键//按键标志//按键标志//上次按键时间//消抖时间 ms//上次按键时间//消抖时间 ms//---ADC定义//分压器比例(输入电压到ADC电压的比例)//分压比(8.4倍缩小)//电压范围(电池电压)//电压为0%时//电压为100%时//采样次数//计算电池电压//---舵机//舵机引脚//---屏幕//SCL引脚5 SDA引脚4//---WIFI账号密码const char *ssid ="猪八戒";

2025-12-22 22:01:05 401

原创 【梅花】2.工程模板的搭建

国内所有的STM32的板子主时钟晶振和那个STM32官方板子上的主时钟晶振是不一致的。如果没有定义HSI_VALUE,HSI_VALUE的值就是16000000。国内基本8M,官方基本25M,所以要修改HSI_VALUE和PLL_M。分频器PLL_M 也修改为8,和HSI是匹配的。

2025-12-15 00:10:47 256

原创 9.5 【定时器】输入捕获

比如捕获上升沿,如果选择1分频,那每出现一个上升沿,右边就会触发一个cc1事件,执行1次拍照动作,如果选择2分频,就要出现2次上升沿,才会产生一个cc1事件,并且进行拍照,依次类推,一般都设置1分频,用的比较少。通道1和通道2有交叉引脚的箭头,通道3和通道4有交叉引脚的箭头,说明它们的信号是可以交叉引用的。CH1捕获上升沿,此时CNT=2,就会拍照给事件cc1,那CCR1=2。CH2捕获下降沿,此时CNT=8,就会拍照给事件cc2,那CCR2=8。输入滤波模块是用来滤除输入信号这些细小的毛刺的。

2025-12-13 23:14:24 277

原创 机器狗原理

每一个舵机大概要200-250mA电流,4个舵机就要差不多1A的电流了,4个舵机要1A,加上oled等其他的,要1200mAh的电池才行,如果要买小了,机器狗可能不动,一卡一卡的一个电池充电后满电4.2V,那两个电池串联就8.4VLDO稳压搞两次目的是5V给舵机供电,3.3V给OLED屏幕供电如果1117只搞一个5V,因为4个舵机要1V,还有OLED屏幕,而1117数据手册是1V,这样会很烫。

2025-12-08 21:31:31 402

原创 9.4 呼吸灯实验

通过呼吸灯实验来看一下输出比较在实际编程中是如何写代码的原理:Tim_CH1正常输出配置PA8,Tim_CH1N互补输出配置PB13,让两个灯交替闪烁通过调整CCR1就可以控制PWM信号的占空比可调输出比较模式设置PW1,当CNT<CCR的时候,OCxRef输出高电压,否则输出低电压。

2025-12-03 11:46:18 858

原创 9.3【定时器】输出比较

定时器的4个通道输入捕获用来测量外部输入信号的一个时延参数,比如测量输入信号的周期、占空比、脉冲宽度等等所有和时间有关的参数寄存器的右边是输出比较,输出比较的作用是通过定时器去产生精确定时的方波信号,然后通过引脚把方波信号输出出去,因为此时的方波信号是通过定时器产生的,定时器本身时间精度就是特别高的,所有它产生的方波信号的精度也是特别高的,所以我们可以使用方波信号驱动各种各样的外部设备,可以达到非常好的效果。

2025-11-30 22:05:14 584

原创 关于C51的中断

C51有5个中断,外部中断0(INT0),外部中断1(INT1),定时器中断T0,定时器中断T1,串口中断(RX TX)定义外部中断名,C51函数名可以随便,只要有后面的interrupt有标识就行,不像32。比如使用外部中断0,先定义一个函数,直接在main函数中调用。比如INF0 也就是。

2025-11-29 12:32:37 243

原创 9.2【定时器】自制延迟函数

随便选择一个定时器实现定时函数。

2025-11-25 00:06:21 164

原创 9.1【定时器】时基单元

单片机内部所有跟时间有关的操作几乎都会用到定时器定时器分为3种,高级定时器、通用定时器、基本定时器功能最全的就是高级定时器,在高级定时器基础上阉割一部分功能就得到通用定时器,再阉割一部分功能就是基本定时器对于STM32F1系列的定时器来说内部最多有14个定时器,其中定时器1和定时器8是高级控制定时器,定时器6和定时器7是基本定时器,定时器2-5和9-14是通用寄存器定时器总体的结构框图。

2025-11-24 21:30:41 824

原创 onenet接口

【代码】onenet接口。

2025-11-21 21:39:26 155

原创 MQTT.fx接收下发消息控制LED

sys/产品ID/产品名称/thing/property/set。

2025-11-18 21:41:04 182

原创 MQTT.fx模拟数据上传ONENET

打开MQTT.fx连接。onenet文档中心。

2025-11-17 17:28:26 287

原创 OneNET创建产品以及MQTT.fx模拟登录

产品开发 - 物联网平台。

2025-11-16 22:17:47 418

原创 数 码 管

Write74HC164是基础的 “单字节串行发送” 工具,WriteDisplayArray则是基于它实现的 “多字节批量发送” 功能 —— 前者负责将单个段码拆分为串行信号,后者负责协调多个段码的发送顺序和初始复位,共同完成多位数码管的显示驱动。关键逻辑:利用 74HC164 的级联特性(前一级的串行输出接后一级的串行输入),先发送的数据会被后发送的数据 “推” 到后续寄存器,最终所有Len个段码会分别存入对应的 74HC164,并行输出驱动多位数码管。每次循环先拉低时钟PCLK=0,准备数据;

2025-11-15 16:38:55 326

原创 51实现矩阵

【代码】51实现矩阵。

2025-11-15 11:42:42 129

原创 STM32F103配置寄存器

以引脚Pin0为例,GPIOx_CRL的低 4 位(MODE0[1:0]和CNF0[1:0])定义其配置:MODE0[1:0]:配置输出模式的速度(输入模式时为 00)。00:输入模式(复位状态)01:输出模式,最大速度 10MHz10:输出模式,最大速度 2MHz11:输出模式,最大速度 50MHzCNF0[1:0]:配置引脚的工作模式(输入 / 输出类型)。输入模式下:00:模拟输入01:浮空输入10:上拉 / 下拉输入11:保留。

2025-11-12 16:49:25 457

原创 智能家居项目-搭建工程

如果定义了 STM32F10X_CL 宏(表示使用 STM32F10x CL 系列芯片,如 STM32F105/107),则默认外部晶振频率为 25MHz(25000000 Hz)。如果没有定义 STM32F10X_CL(即使用普通 STM32F10x 系列,如 STM32F103),则默认外部晶振频率为 8MHz(8000000 Hz)。HSE是8MHz,SYSCLK是72MHz,所以要做 PLL 倍频(9倍频)得到 72MHz 系统时钟。对于普通系列芯片,默认定义系统时钟频率为。)对应的时钟配置函数。

2025-11-10 16:00:10 234

原创 简单按键模拟

模拟按键,比如按键KEY连的P1.7引脚,flg做标志位,模拟按下的时候KEY变低电平,按起来的时候高电平。

2025-11-08 17:27:47 233

原创 Keil调试查看变量

由于本人经常忘记打开哪里,特此记录。

2025-11-08 14:39:25 150

原创 keil 打印串口输出

要首先重映射printf函数。

2025-11-08 14:24:33 174

原创 8.2 时钟数编程

我们写的代码会被烧录到Flash模块当中,当单片机运行的时候,我们Cortex-M3内核会在Flash当中把代码一条一条读出来,然后放在内核里面去执行,但是读取Flash的速度远远赶不上内核执行代码的速度,所以为了解决这个问题,在内核和Flash中间加一个缓冲区,Flash提前把下一条要执行的指令放在缓冲区,当内核需要指令的时候,内核直接从缓冲区里面读取指令,这种叫指令预取。带颜色的代表可开关的,灰色底色的代表默认状态下关闭的,绿色底色的代表默认状态下开启的。第四步切换SYSCLK的来源。

2025-11-03 16:52:30 806

原创 8.1 时钟树

中间的粗树枝对应AHB分频器,分频后产生的分频信号就是HCLK,使用HCLK继续给它分频,这里各自有两个分频器,经过APB2分配器得到是PCLK2,PCLK2就会分配给左上面那些树叶,经过APB1分配器得到是PCLK1,,PCLK1就会分配给右上面那些树叶。左边的大树时钟频率比较高,一般是几十MHz,右边的小树时钟频率比较低,一般是几十KHz。因为内部的时钟源位于单片机的内部,虽然使用起来比较方便,但是他们精度不高,如果对精度有要求的话就要外接时钟源,如果没有要求,用内部的就行。Internal表内部的。

2025-10-26 22:51:39 469

原创 7.2 【EXTI】按钮实验

两个按钮实现控制板载LED的亮和灭,左边按钮控制点亮,右边按钮控制熄灭。

2025-10-25 20:58:16 332

【嵌入式软件开发】C语言基础与RTOS应用:面试常见技术问题及解决方案综合解析

内容概要:本文档是一份嵌入式软件开发岗位的面试题集,涵盖C语言基础、内存管理、变量存储、指针与数组、静态与常量变量、浮点数精度、回调函数、开源协议、FreeRTOS任务状态与死锁机制等核心技术点,并涉及实际开发中的问题解决、代码风格、MCU快速上手、系统联调、资源优化和团队协作等工程实践内容。题目设计兼顾理论深度与实战应用,突出嵌入式系统对稳定性、实时性与资源受限环境下的开发要求。; 适合人群:具备一定嵌入式开发经验,熟悉C语言和RTOS,正在准备相关岗位面试的初级至中级研发工程师。; 使用场景及目标:①帮助求职者系统复习嵌入式软件开发核心知识点;②提升对FreeRTOS、内存管理、外设驱动、代码规范等关键技术的理解与表达能力;③指导开发者在真实项目中应对资源限制、模块协作与系统调试等问题。; 阅读建议:建议结合自身项目经历逐题思考并撰写答案,重点理解各技术点背后的原理与应用场景,尤其是回调函数、环形缓冲区、优先级翻转、死锁预防等高频难点,宜配合开发板实操验证。

2026-03-08

STM32F407芯片驱动显示屏ST7789SPI LCD显示屏

显示中英文和图片

2026-01-25

STM32F103C8T6工程模板,同步江协

STM32F103C8T6工程模板,同步江协

2025-08-31

STM32工程模板 直接用

STM32工程模板 直接用

2025-08-30

JDBC基础-Java学习笔记

DBC英文全程Java Database Connectivity.是一个独立于特定DBMS(数据库管理系统), 通用的SQL数据库存储和操作的公共接口集合。该接口定义在java.sql和javax.sql下。JDBC是一套接口, 规定了访问数据库的规范和标准。 JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。

2022-05-28

飞翔的小鸟游戏代码+文档

使用html+css+js

2023-09-15

MySQL安装文档,下载安装环境变量

MySQL安装文档,下载安装环境变量

2022-11-14

校园卡系统任务书具体清晰

校园卡系统任务书具体清晰

2022-02-26

NBA球队数据统计c/c++实验报告

NBA球队数据统计c/c++实验报告

2022-03-17

大学生网页课程设计作业

大学网页设计作业大作业,一个主网页三个子网页

2021-12-05

数据结构版学生管理系统课程设计报告书

数据结构版学生管理系统课程设计报告书

2022-02-26

空空如也

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

TA关注的人

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