- 博客(158)
- 收藏
- 关注
原创 CAN的协议层介绍
数据帧由7段组成。数据帧又分为标准帧(CAN2.0A)和扩展帧(CAN2.0B),主要体现在仲裁段和控制段。功能:表示数据帧的开始。特点:由一个显性位(Dominant Bit)构成,此时CAN_H为高电平(如3.5V),CAN_L为低电平(如1.5V),二者之间的电位差形成信号。·功能:确定发送优先级,并包含标识符(Identifier)用于唯一标识发送者和接收者之间的通信关系。·组成:标准数据帧的仲裁场由11位ID和1位RTR位(远程发送请求位)组成。
2024-08-23 16:26:29
365
原创 CAN的简介
CAN网络通常由CAN控制器、CAN收发器和双绞线组成。负责处理数据的收发和协议转换。负责将控制器的数字信号转换为差分信号进行传输,同时也负责将总线上的差分信号转换为数字信号供控制器处理。终端电阻在高速CAN总线的两端分别连接一个电阻,称为终端电阻。终端电阻的主要作用是匹配总线阻抗,提高信号质量减少回波反射。一般来说,终端电阻的阻值为120Ω。2.1 总线拓扑图高速CAN闭环总线低速CAN开环总线2.2 电平标准CAN使用差分信号进行数据传输,根据CAN_H和CAN_L上的电位差来判断总线电平。
2024-08-23 16:09:32
574
原创 什么是BKP(备份寄存器)
当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位。此外, BKP控制寄存器用来管理侵入检测和RTC校准功能。复位后,对备份寄存器和RTC的访问被禁止,并且备份域被保护以防止可能存在的意外的写操作。执行以下操作可以使能对备份寄存器和RTC的访问:20字节(中容量和小容量)/ 84字节(大容量和互联型)
2024-08-17 22:30:48
154
原创 SPI通信接口
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如 AT91RM9200。(360百科)
2024-08-15 20:16:07
293
原创 ADC的一些细节
总共 2 个 ADC(ADC1,ADC2),每个 ADC 有 18 个转换通道: 16 个外部通道、 2 个内部通道(温度传感器、内部参考电压)ADC1和ADC2的通道都相同,是采用分时复用来使用的外部的16个通道在转换时又分为规则通道和注入通道,其中规则通道最多有16路,注入通道最多有4路。
2024-08-06 11:05:24
288
原创 ADC的介绍和工作原理
Analog-to-Digital Converter,指模拟/数字转换器什么是ADC:SUCH AS:。它有多达 18 个通道,。各通道的。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值ADC 的输入时钟,它是由经分频产生。
2024-08-04 22:49:32
273
原创 什么是DMA以及DMA的意义
1.1 DMA(Direct Memory Access,直接存储器访问)提供在外设与内存、存储器和存储器之间的高速数据传输使用。它允许不同速度的硬件装置来沟通,而不需要依赖于CPU,在这个时间中,CPU对于内存的工作来说就无法使用。 1.2 DMA的意义 代替 CPU 搬运数据,为 CPU 减负。 1. 数据搬运的工作比较耗时间; 2. 数据搬运工作时效要求高(有数据来就要搬走); 3.
2024-08-02 19:20:26
704
原创 窗口看门狗WWDG
1.1 窗口看门狗用于监测单片机程序运行时效是否精准,主要检测软件异常,一般用于需要精准检测程序运行时间的场合。窗口看门狗的本质是一个能产生系统复位信号和提前唤醒中断的6位计数器。
2024-07-24 12:07:08
215
原创 定时器的计数模式 定时器中断时钟配置
PWM波形(Pulse Width Modulation,脉冲宽度调制波形)是一种占空比可变的脉冲波形。这种调制方式通过改变脉冲的宽度来控制电路中的信号强度和频率。具体来说,PWM波形中的高电平持续时间和低电平持续时间可以根据需要进行调整,从而实现对模拟信号电平的数字编码。PWM波形在各种领域都有广泛的应用,包括电源管理、电机控制、LED亮度调节等。此外,生成PWM波形的方法有多种,例如使用波形发生器、单片机或可编程逻辑器件等。频率 = 1/Ts占空比 = Ton / Ts。
2024-07-15 21:51:02
281
原创 STM32的定时器HAL库
1. STM32F103C8T6微控制器内部集成了多种类型的定时器,这些定时器在嵌入式系统中扮演着重要角色,用于计时、延时、事件触发以及PWM波形生成、脉冲捕获等应用。1.1高级定时器:TIM1,这是一个高级定时器,不仅具备基本的定时中断功能,还拥有内外时钟源选择、输入捕获、输出比较、编码器接口以及主从触发模式等多种功能。这使得TIM1能够适用于各种复杂的应用场景,为开发者提供强大的时间控制和信号处理能力。1.2通用定时器:TIM2、TIM3和TIM4。
2024-07-15 01:07:36
385
原创 什么是状态机?
每个状态都代表系统的一个特定配置或情况,而转换规则则定义了从一个状态转换到另一个状态的条件和动作。在计算机科学中,状态机常用于描述软件系统的行为,特别是在硬件设计、编译器设计、网络协议以及用户界面交互等方面。4. 确定性和非确定性:状态机可以是确定性的(每个条件唯一对应一个转换)或非确定性的(一个条件可能导致多个可能的转换)。2. 转换条件:状态之间的转换是基于特定条件触发的。当满足某个条件时,状态机会从当前状态转换到下一个状态。这些状态可以是有序的、离散的或层次化的。
2024-07-14 01:15:52
242
原创 EXTI寄存器,AFIO的简洁,EXTI配置的流程
AFIO是Alternate Function Input/Output 的缩写,表示复用功能IO,主要用于实现IO端口的复用功能以及外部中断的控制STM32外设有很多I/O以及内置外设(如12C,ADC,ISP,USART等)。为节省引出管脚的数量,这些内置外设通常与I/O口共用管教,即I/O管脚具有复用功能。例如,一个GPIO管脚除了可以作为普通的I/O端口外,还可以被复用为某个内置外设的功能引脚。然而,为了优化64脚或100脚封装的外设数量,有时需要将一些复用功能重新映射到其他引脚上。
2024-07-04 21:49:56
268
原创 STM32的EXTI简介
1.监测指定的GPIO口的电平信号变化,并检测到指定条件时,向内核的中断控制器NVIC发出中断申请。NVIC在裁决后,如果满足条件,会中断CPU的主程序,使CPU转而执行EXTI的中断服务程序。2.触发方式:上升沿,下降沿,双边沿或软件触发3.EXTI支持所有GPIO接口,但是要注意的是,相同的Pin不能同时触发中断。例如,PA0和PB0不能同时被配置为中断源4.EXTI提供16个GPIO_Pin的中断线不能同时触发中断如PVD输出,RTC闹钟,USB唤醒和以太网唤醒。
2024-06-30 15:32:35
419
原创 STM32中--NVIC的介绍和工作原理
NVIC就是Nested Vectored Interrupt Controller(嵌套向量中断控制器),是STM32处理异步事件的重要机制。。当一个中断请求到达时,NVIC会确定其优先级并决定是否应该中断当前执行的程序,以便及时响应和处理该中断请求。这种设计有助于提高系统的响应速度和可靠性,特别是在需要处理大量中断请求的实时应用程序中。NVIC 支持:(10个内部中断,60个外部中断)8位的,所以256个中断(16内核+240外部),支持:256个优先级,允许裁剪。
2024-06-30 14:59:58
604
原创 什么是GPIO口,GPIO口最简单的input/output
1.GPIO口是通用输入输出端口(General-purpose input/output)的英文缩写,是所有的微控制器必不可少的外设之一,可由STM32直接驱动从而实现与外部设备通信,控制以及采集和捕获的功能。2.GPIO口可配置多种输入输出模式,如输入浮空,输入上拉,输入下拉,模拟输入,开漏输出,开漏复用功能,推挽式复用功能等。3.STM32单片机的GPIO被分为很多组,每组最多有16个引脚,不同型号的MCU的GPIO个数是不同的。
2024-06-28 13:02:02
362
原创 STM32启动流程 和 map文件的作用
1. 复位/上电2. 根据 BOOT0/BOOT1 确定程序从哪个存储位置执行3. 初始化 SP 及 PC 指针将 0X08000000 位置的栈顶地址存放在 SP 指针中将 0x08000004 位置存放的向量地址装入 PC 程序计数器4. 初始化系统时钟5. 初始化用户堆栈6. 进入main函数。
2024-06-26 20:43:35
585
原创 什么是CMSIS || 标准库与HAL库
ARM Cortex™ 微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是 CortexM 处理器系列的与供应商无关的硬件抽象层。使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。 ARM 是一个做芯片标准的公司,它负责的是芯片内核的架构设计,而TI、ST这样的公司,他们并不做标准,他们是芯片公司,他们是根据 ARM 公司提供的芯片
2024-06-25 23:56:28
1126
原创 STM32 ---- F1系列内核和芯片系统架构 || 存储器映像 || 寄存器映射
STM32 寻址范围:2^32 = 4 * 2^10 *2^10 K = 4 * 2^10 M = 4G。寄存器地址:0x4001080C -- 寄存器名字:GPIOx_ODA。存储器本身不具有地址信息,给存储器分配地址的过程称为存储器映射。ROM:只读存储器,非易失性,掉电不丢失的存储器(类似于硬盘)以下的偏移量相对于APB1的及地址:AOB2-APB1=偏移量。RAM:随机存储器,易失性,掉电丢失的存储器(类似内存)状态寄存器:加热/升压/保压/减压。数据寄存器:高压锅的液晶显示屏;
2024-06-25 00:57:46
378
原创 STM32单片机系统
单片机最小系统是指能够将单片机芯片运行所必需的最少的硬件电路集成在一起的系统。它是一种基本的单片机应用系统,为单片机提供时钟信号、复位信号以及外设接口等必要功能。STM32中的晶振是一个非常重要的组成部分,它为整个系统提供了一个稳定的时钟源。具体来说,晶振在STM32中的作用如下:1. 提供时钟信号:晶振是一个振荡器,它会产生连续的脉冲信号,这些信号的频率非常稳定。STM32微控制器中的CPU和其他外围设备需要一个稳定的时钟信号来协调它们的工作。
2024-06-24 00:29:01
599
原创 测速小车模块
对应的码盘也转了一圈,码盘有20个格子,每经过一个格子,会遮挡(高电平)和不遮挡(低电平),那么一个脉冲就是走了 3.14 * 6.5 cm /20 = 1.0205CM。定时器可以设计成一秒,统计脉冲数,一个脉冲就是1cm假设一秒有80脉冲,那么就是80cm/s。轮子走一圈,经过一个周长,C = 2x3.14x半径= 3.14 x 直径(6.5cm)1.用途:广泛用于电机转速检测,脉冲计数,位置限位等。2.有遮挡,输出高电平;VCC 接电源正极3.3-5V。AO 此模块不起作用。
2024-06-19 20:23:24
146
原创 循迹模块之循迹小车
TCRT5000传感器的红外发射二极管不断发射红外线1.1 当发射出的红外线没有被反射回来或被反射回来但强度不够大时红外接收管一直处于关断状态,此时模块的输出端为高电平,指示二极管一直处于熄灭状态1.2 当被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管饱和,此时模块的输出端为低电平,指示二极管被点亮总之,没反射回来,D0输出高电平,灭灯接线方式:VCC:接电源正极(3-5V)GND:接电源负极DO:TTL开关信号输出0、1。
2024-06-05 22:29:08
458
原创 串口控制小车和小车PWM调速
1. 串口分文件编程进行代码整合,通过现象来改代码2.接入蓝牙模块,通过蓝牙控制小车3.添加点动控制,如果APP支持按下一直发数据,松开就停止发数据(蓝牙调试助手的自定义按键不能实现),就能实现前进按键按下后小车一直往前走的功能。
2024-06-03 16:45:38
410
原创 L9110S电机控制模块
接通VCC,GND 模块电源指示灯亮, 以下资料来源官方,但是仍需我们调制。R1A输入低电平,R1B输入高电平。L1A输入低电平,L1B输入高电平。R1A输入低电平,R1B输入低电平。R1A输入低电平,R1B输入高电平。L1A输入高电平,L1B输入低电平。R1A输入高电平,R1B输入低电平。(左转): L1A输入低电平,L1B输入低电平。(前进): L1A输入低电平,L1B输入高电平。
2024-06-01 22:24:53
411
3
原创 OLED显示一张图片
j++) //列 i等于0的时候 ,j<128 //i到7的时候 i+1=8, 其实就是j<8(i+1)最后j要<128*8。//行 i没有问题,j有问题 i为1时,j要从128开始这样子才会刷屏。//j要重新定义,因为要到达图片的最后一位。//每个page从0列到127列,依次写入0,每写入数据,列地址自动偏移。//-128 ~ 127位。//每个page从第0列开始。
2024-05-29 17:26:45
272
原创 单片机编程的code关键字的诠释
在你提到的例子中,code char b1[16] 表示 b1 数组被存储在程序存储器中,而不是数据存储器中。这样做可以避免在程序运行过程中频繁地访问数据存储器,从而提高程序的运行效率。,而且程序存储器的容量较小,适合存储常量数据和程序代码。使用 code 关键字可以将变量存储在程序存储器中,从而提高程序执行的速度和效率。在单片机编程中,code 是一个关键字,用于指示编译器将变量存储。数据存储器的速度更快。
2024-05-29 16:21:56
297
原创 IIC协议的初识
IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。IIC属 于半双工同步通信方式由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。串口20Kbps (面试会考)其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。
2024-05-29 11:27:35
381
原创 温度检测小系统兼继电器模块和小风扇
dht = P3^3;datas [5] (接收DHT11的数据);temp[8] ,huma[8] (用来存取接受的数据);while循环,延迟1秒,DHT模块读取数据;// 超过25度给我转。LCD1602显示屏初始化;//datas[2] 是温度。2.加继电器和小风扇模块。
2024-05-26 01:56:16
241
原创 DHT11获取数据传输到PC端
在计算机中,数字和字符之间的转换通常是通过 ASCII 码或 Unicode 码来完成的。在 ASCII 码中,数字 4 的表示为 52,而字符 '4' 的表示也是 52。因此,将数字 4 和十六进制数 0x30(在 ASCII 码中表示数字 '0')相加得到的结果是字符 '4'。卡e点 while(!dht) 卡f点:while(dht) 卡g点:while(!dht) 有效数据都是高电平,持续时间不一样,50us读,低电平0 高电平。b :dht = 0延时30ms。
2024-05-25 01:13:02
234
原创 DHT11温湿度传感器
1. DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用领域:暖通空调;汽车;消费品;气象站;湿度调节器;除湿器;家电;医疗;自动控制2. 特点·相对湿度和温度测量·全部校准,数字输出·长期稳定性·超长的信号传输距离:20米·超低能耗:休眠·4 引脚安装:可以买封装好的完全互换 : 直接出结果,不用转化接线数据传送逻辑 只有一根数据线DATA,上官一号发送序列指令给DHT11模块,模块一次完整的数据传输为40bit,高位先出数据格式8bit湿度整数数据+8bit湿度
2024-05-23 23:28:06
374
原创 LCD1602显示
这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H) +10000000B(80H)=11000000B(C0H)当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 5 脚:R/W 为读写信号线,第 4 脚:RS 为寄存器选择,
2024-05-20 23:53:32
176
原创 EC03-DNC4G通信模块
2. 有两种工作模式,默认是透传模式,通过其他方式进入AT指令模式,后续有说明。3. 注意插卡不要出错,下图红色位置为SIM卡状态灯,亮才是正常。1. 基于串口AT指令的开发方式。
2024-05-19 21:29:47
154
原创 WIFI模块ESP8266的联网,连接服务器问题
3.优化8266使用,监测AT实行的结果。4.优化8266,捕获联网失败的状态。1.单片机发送AT指令实现联网。2.通过网络TCP控制LED。
2024-05-17 20:31:17
236
原创 WIFI模块的AT指令联网数据交互--第十天
AT+CIPSTART="TCP","192.168.0.113",8888 //指令,注意双引号逗号都要半角(英文)输入。AT+CWMODE=3 //1. 是station(设备)模式 2.是AP(路由)模式 3.是双模。1.1.蓝牙,ESP-01s,Zigbee, NB-Iot等通信模块都是基于AT指令的设计。AT+CWJAP="(wifi名字)","(wifi密码)" //指令。//在透传发送数据过程中,若识别到单独的⼀包数据 “+++”,则退出透传发送。AT+CIFSR //指令。
2024-05-13 22:53:21
328
原创 蓝牙模块和wifi模块
AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。透传即透明传送,是指在数据的传输过程中,通过无线的方式这组数据不发生任何形式的改变,仿佛传输过程是透明的一样,同时保证传输的质量,原封不动地到了最终接收者手里。1.蓝牙模块,又叫做蓝牙串口模块。
2024-05-12 00:06:56
526
原创 串口数据的发送(单词的发送)and UART原理协议---第九天
1.在中断函数中,定义一个数组给SBUF, i++数组的偏移以便输入单词,;用strstr()函数来比较cmd输入的单词里面的 "en" , " se ";亮灯后i回来原来的位置0,清空cmd,
2024-05-11 23:25:47
192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人