- 博客(57)
- 收藏
- 关注
原创 嵌入式软件--stm32 DAY 9 定时器
摘要:本文介绍了STM32F103芯片的系统计时器(SysTick)工作原理及其应用。SysTick是CM3内核中的24位递减计数器,最大计数范围约1600万次,在72MHz主频下每个时钟周期为1/72μs。文章详细讲解了SysTick相关的4个寄存器功能,包括控制状态寄存器、重装载值寄存器、当前值寄存器和校准寄存器。通过LED闪烁案例,阐述了如何利用SysTick中断实现定时功能,对比了软件循环和硬件定时两种实现方式。在72MHz时钟下,1ms需要72000个时钟周期,开发者可通过配置重装载值实现精确计时
2025-07-24 20:32:46
446
原创 通信协议 之 1-wire 单总线
1-Wire单总线协议是Dallas公司开发的一种简单通信协议,采用单根信号线实现双向数据传输。其最大特点是通过单GPIO接口即可实现通信,具有硬件资源少、成本低、便于扩展等优势。协议工作时序严格,包含复位脉冲、应答脉冲、读写时序等关键环节。以DS18B20温度传感器为例,通信过程包括初始化、ROM命令(如搜索、匹配、跳过ROM等)和功能命令三个阶段。该协议支持多设备挂载,通过64位ROM代码识别设备,适用于51/32等微控制器环境,尤其适合温度采集等简单数据通信场景。
2025-07-23 20:10:32
763
原创 PY烧录器的使用
我们打开从淘宝上下单的快递后,里面有三个物品。烧录线:烧录器:转接板:上面六个焊盘孔是连接机台的,下面是SWD调试的,如果不连接机台,只下载调试,就只用连接下面SWD四个引脚了。烧录器通过烧录线与电脑连接,烧录器连接转接板可以连接我们的开发板。之后需要打开上位机。下载资料在文章末尾,着急的小伙伴可以去下载。前提:烧写器正确连接,上位机可以有效识别。2023/10/17为上位机版本编译时间,也就是上位机版本。32D8DBAA为设备ID,不重复。2307271702。
2025-07-04 00:44:15
630
原创 PD协议介绍与交互过程
PD协议是用于手机快充设备的协议。在C-C快充线上,就存在着E-marker芯片。E-marker芯片用于电缆认证,确保数据传输和电源供应的兼容性和安全性。PD协议芯片通过动态调整供电设备和接收设备之间的电压和电流,从而实现快速充电、提升能效,而E-marker芯片则存储着电缆的重要信息,如电缆长度、制造商信息、最大承载电流等,它通过与设备沟通这些信息,以保证电缆兼容和使用安全。那么有些数据线是不存在E-Marker, 首先就是传输速率影响,速率到达不了高速率。
2025-06-17 20:02:36
1020
原创 AD-PCB--元件库介绍及电阻电容模型的创建 DAY4
本文介绍了在AD平台创建电子元件库的基本方法。首先说明如何打开元件库面板并添加新元件,强调元件命名规范(如RES代表电阻)。接着讲解元件模型的创建原则,指出原理图符号可以个性化设计而非完全复制实物。详细演示了电阻模型的创建过程:放置电气管脚、调整栅格设置、复制管脚、修改颜色及添加元件说明等步骤。同时提及电容模型创建方法类似,并建议封装设计可后期按需添加。文章强调掌握基础方法后即可举一反三创建各类元件模型。
2025-05-28 23:07:47
814
原创 AD-PCB--AD工程组成以及创建的过程 DAY 3
一个AD工程包含四部分:原理图库,原理图,PCB库,PCB.照着这样的学习方向和顺序努力吧!
2025-05-28 02:05:54
205
原创 嵌入式软件--DAY8 IIC通讯下 硬件实现
摘要:本文介绍了在STM32中使用硬件I2C外设的实现方法。相比51单片机需要软件模拟,STM32通过操作I2C外设寄存器可直接实现通讯功能。文章详细讲解了I2C硬件电路设计、寄存器配置(包括控制寄存器CR1/CR2和状态寄存器SR1/SR2),并提供了寄存器级初始化代码和关键时序函数(起始信号、停止信号、数据收发等)的实现示例。同时介绍了基于HAL库的CUBEMX配置方法,以及EEPROM读写功能的封装实现,最后通过串口验证通讯功能。
2025-05-25 23:39:02
1254
原创 嵌入式软件--stm32 DAY7 I2C通讯上
iic协议是非常常用的一种通信协议,拥有两条总线的他支持多个设备共用同一条总线。常用于oled屏幕的外设驱动和手机PD协议通信中。了解和掌握iic协议是十分有必要的。
2025-05-13 12:29:28
1168
原创 嵌入式软件--stm32 DAY 6 USART串口通讯(下)
通过寄存器轮询方式实现了收发单个字节之后,我们趁热打铁,争上游,进阶到字符串。字符串就是多个字符。很明显可以循环收发单个字节实现。然后就是接收字符串。如果接受单个字符的函数放在while里,它也可以实现一个一个的接收字符串,在一定时间戳下,效果等同。然后我们要想想如何整合,写成一个函数。
2025-05-12 18:21:12
908
1
原创 嵌入式软件--stm32 DAY 5 USART串口通讯(上)
前边我们学的都是通用的功能,例如GPIO、中断,现在我们要学习的是某一个特定的功能。典型的就是通讯功能。其中,最简单的通讯协议就是串口了。
2025-04-30 19:53:10
1181
原创 嵌入式软件--stm32 DAY 4 中断系统
NVIC 和处理器核的接口紧密相连,可以实现低延迟的中断处理和高效地处理中断。嵌套向量中断控制器管理着包括内核异常,外部中断等所有中断。由NVIC决定哪个中断的处理程序交给CPU来执行。
2025-04-27 11:42:44
770
原创 嵌入式软件--stm32 DAY 2
引入文件时钟配置也可以注意stm32f10x.h文件里面集成了很多寄存器和引脚的宏定义。只有引用他才能宏替换地址。优点:这样比地址好看很多,只要记住模块名和寄存器名称,就能配置。但是目前缺陷也很明显。例如RCC->APB2ENR=4,不仅打开了GPIOA时钟,也将其他的模块关闭了。我们应该在不影响其他模块的前提下,打开GPIOA时钟。C语言里面讲过位运算,只改想要的位,不改其他位。时钟开启可以改进:RCC->APB2ENR|=(1<<2)
2025-04-19 23:42:40
1030
原创 嵌入式软件--stm32 DAY 1
之后无脑安装即可。安装目录与之前下载的51 keil区分开。步骤我就不过多阐述,下面是大佬的分享链接,转载自csdn。
2025-04-17 20:26:49
1124
原创 Emarker芯片,一个快充“身份证”
E-Marker芯片是现代快充和高速传输的“安全守门员”,它让设备和线缆之间能够智能对话,既保障了使用安全,又充分释放了硬件性能。
2025-03-31 11:16:02
3617
原创 嵌入式技术之Linux(Ubuntu) 一
linux中一切皆是文件。如何访问一个文件?在Windows系统里可以通过路径来访问文件,linux也没有区别。在浏览器中,我们通过URL地址:协议://IP地址:端口号/文件路径本地文件的访问需要遵循本地文件协议linux的路径: 操作系统的根(路径):/ 用户的家: / home/wenjianjia。
2025-01-07 17:04:40
1533
3
原创 嵌入式软件--51单片机 DAY 4
外部中断0到外部中断3的中断号分别是:0、2、6、7,以外部中断0为例,其中断服务程序应定义为void()interrupt1//编写定时任务逻辑4.软件设计//重新状态脉冲计数器//统计中断次数count = 0;
2024-09-06 18:17:43
1629
1
原创 嵌入式软件--51单片机 DAY 2
我们可以通过阴极控制显示的位置,通过阳极控制显示的内容。两个数码管共有8个阴极引脚和16和阳极引脚,如果所有引脚都直接接入MCU,会造成MCU引脚的极大浪费。为了节省MCU的引脚,我们可以将两个数码管的阳极接在一起。如此我们就有了8个阴极,8个阳极16个引脚。我们只需通过8个GPIO引脚就能控制这8位数码管的显示内容了。既然是八位,我们很快想到了38译码器,通过三位二进制数字的输入控制八种结果。
2024-09-02 18:51:55
1721
1
原创 嵌入式软件--51单片机 DAY 1
是一个运行在Windows系统中的单片机集成开发环境(Integrated Development Environment),其提供了代码编辑、代码编译、仿真和调试等功能。8位指的是寄存器的位数和数据总线的位数,内部的ALU也是8位的,一次操作能处理8位的数据。32位指的是寄存器是32位的,也是同样的道理。用STC(用typeC线连接电脑与单片机芯片),打开程序烧录进单片机芯片,便可以使用了。即可读取外部数据,也可输出。,可以理解为电脑的硬盘,存放用户数据,断电不丢失。(单片机的“语言”)的一系列单片机。
2024-09-02 18:50:51
834
原创 嵌入式软件--PCB DAY 4
(1)CH340N为什么有那么多组极。(2)TYPEC接口,得到几V的供电,为什么?(3)P0为什么上拉。(4)单片机烧录时要干什么(5)晶振的20pf的电容怎么选的厂商规定。
2024-08-30 23:55:40
421
原创 嵌入式软件--数电基础 DAY 6
我们刚开始接触的第一个存储电路是SR锁存器。但是SR锁存器存在诸多不足,比如我们不希望出现无意义的状态,于是我们有了D锁存器,再输入电路中加入非门电路,避免了无意义状态,但同时失去了维持存储的功能。再然后,我们的D触发器避免了以上两个缺点。D触发器依靠上升边沿触发,把原来的异步信号变成了同步信号,显示器不会刷新多次,稳定性增加。这种特性叫做时钟对齐,或者叫硬件对齐和时钟同步。为了实现多位的存储,在D触发器的基础上,用多个触发器实现了寄存器。多个寄存器相连,会导致数据同时一口气存入寄存器。
2024-08-30 10:50:20
1306
原创 嵌入式软件--PCB DAY 3
LDO(低压差线性稳压器)是一种能够稳定输出指定电压的设备。例如,如果我们选择了一个固定输出为3.3V的LDO,无论输入电压是5V、6V还是8V,它都能稳定输出3.3V(尽管会有极小的波动)。LDO的关键功能是为电路提供稳定的电压,需要注意的是,LDO的输入电压必须始终高于其输出电压,并且它不具备升压功能。
2024-08-29 15:21:09
5805
2
原创 嵌入式软件--数电基础 DAY 4
set状态: 0 1 1 0。Reset状态: 1 0 0 1。维持状态: 1 1 维持上个状态。石英晶振可以产生一个电信号的震荡,这个震荡的频率十分稳定。在古代有很多计时方式,滴水,去找一个频率相对固定的东西。关闭En,时钟信号也会停止,不会再改变。去找一个匀速运动的东西,比如烧香。可以用石英晶振产生时钟信号。没了无意义,但丢了维持。
2024-08-18 22:34:06
372
原创 嵌入式软件--数电基础 DAY 3
二进制数只能取0,1两个数字,逢二进一。通过二进制表达文字。如战争时代的电报。通过电灯泡的亮灭传递出信息。可以对灯亮和灯灭富裕一些含义,就能传达出想要的消息。这就是编码和解码两个过程。如果有1位二进制数,可以有0和1两种取值。如果有2位,就有00,01,10,11四种取值。同理,如果有3位就有8种不同的取值。如果有n位二进制数,就有2的n次幂种取值结果。而在计算机中我们称数位为bite。摩尔斯电码不仅对灯泡的亮灭结果进行编码,还加入了时序。为了统一编码标准,ASCII编码应运而生。
2024-08-15 23:47:53
2593
原创 嵌入式软件--数据结构与算法 DAY 13
算法是一个用于解决特定问题的有限指令序列(计算机可以执行的操作)。通俗的理解就是可以解决特定问题的方法。
2024-08-13 18:57:18
636
原创 嵌入式软件--模电基础 DAY 1
C语言的学习告一段落了,要多多注意复习回顾,温故而知新,学习的过程就是与遗忘作斗争。接下来就是嵌入式学习中硬件电路方面的知识了。
2024-08-12 21:19:22
1367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人