- 博客(35)
- 收藏
- 关注
原创 ARP协议
Host_1学习网关IP地址对应的ARP表项的过程,以及网关设备学习Host_4的IP地址对应的ARP表项的过程与上述同网段主机Host_1和Host_3之间进行ARP地址解析的过程类似。静态ARP表项不会被老化,也不会被动态ARP表项覆盖,可以保证网络通信的安全性。当需要发送报文时,设备会先发送ARP请求报文,如果收到的ARP应答报文中的源IP地址和源MAC地址与所配置的IP地址和MAC地址相同,则将收到ARP应答报文的VLAN和接口加入该静态ARP表项中,后续设备可直接用该静态ARP表项转发报文。
2026-06-18 15:53:32
286
原创 以太网分层模型
这层是用户最直接交互的部分,是软件应用通过网络进行通信的地方。应用层使用下层提供的服务来创建用户数据,将这些数据传输给同一台机器上或远程机器上的其他应用。传输层管理着端到端的通信,即主机到主机的通信。它的主要职责是为不同主机上的应用程序提供数据传输,同时保证这些数据的完整性和可靠性。互联网层处理跨网络界限的数据包交换,负责将数据报文段从源地址路由到目的地址。这层抽象了实际的物理网络拓扑结构,并且定义了如何在各种网络结构中发送和接收数据包。网络层的IP协议是构成Internet的基础。
2026-06-07 18:50:16
256
原创 RTE应用层
name_private.h 私有头文件,内部的变量声明和宏定义。name_data.c 存储模型的常量和函数的数据类型。Develop和configer配置后生成的文件的含义。Rte_name_Type.h 定义RTE的数据类型。name_types.h 声明模型自定义的数据类型。Rte_name.h 中间层接口的头文件。name.h 声明数据接口和数据类型。rtwtypes.h 全局函数的定义。name.c 所有模型算法的实现。simulink导出文件含义。
2026-04-07 23:20:10
55
原创 Simulink _建模后测试
通过手动调制输入值,来看模型输出是否正确。用覆盖率分析器分析用例的覆盖率。1. 建模完成后注意模型检查。新建项目,插入model模块。选择以下需要检查的对象。
2026-04-05 17:42:54
49
原创 Convince Develop 学习笔记
5.设置runnable,并导入Port。3.设置Port名字和字符类型。2.根据功能规范导入port。4.建立1个SWC 框架。6.导出Arxml文件。
2026-04-03 20:24:26
54
原创 Simulink 学习笔记
这张图片几乎体现了stateflow工具箱的所有元素。during:用于定义保持在当前状态时的动作;entry:用于定义进入状态时的动作;exit:用于定义退出该状态时的动作。3.流程图实现break函数逻辑。2.流程图实现for函数逻辑。1.流程图实现if函数逻辑。
2026-03-02 21:01:59
114
原创 stm32逻辑分析仪
需要注意的是分频系数是相对于100MHZ来说的 比如说上位机设置的频率是200kHZ,则分频系数是500-1。因为上位机采样频率为200kHZ,实际采样频率为1MHZ所以每5次上传1次就可以。上位机发出的命令及其对应的命令值,这些值可以改动但需要上位机与下位机保持一致。rate为上位机设置采样频率与1MHZ(单片机能达到最大的采样频率)的比值。整体分为上位机和下位机,上位机下位机采用sump协议。上传数据则是通过dma+空闲中断+循环队列实现的。上位机与下位机之间通过串口交互。
2026-03-01 13:34:02
103
原创 直流电源基本原理
因为电容的存在会使二极管的导通角度变小,所以二极管会在短时间内经过较大的电流,所以对二极管的电流特性要求更高,通常为原来的2到3If。2.Imax与Imin的差值要大于负载Imax与Imin的差值,负载电流变化范围要在稳压电流变化范围之内。上面的稳压电路电压不可调,而且反馈深度不够。If是二极管能够通过电流的能力,也是最大整流的平均电流。稳压管上的电流一定要大于Imin小于Imax。在构建整流电路时,要选择合适参数的二极管。稳压电路的性能指标要用稳压系数来计算。还要考虑二极管的反向截至电压。
2025-04-17 20:41:12
1386
原创 整流电路笔记
当较小的电流无法通过二极管时,整流电路的效果会受到影响,导致整流性能变差。于是据需要下面的精密整流电路。全波整流是将半波整流扩大一倍,再和ui叠加。
2025-04-17 15:35:38
328
原创 RC、LC、晶振振荡电路
尽管晶振的温度稳定性较好,但在极端温度变化下(如高温或低温环境中),晶振的频率可能会发生一定的变化。: 晶振的频率稳定性非常高,受温度、负载和电源电压的影响较小,通常可达到ppm(百万分之一)级别的稳定性,适用于要求精确频率的应用,如通信、时钟信号生成等。: 尽管晶体能够产生稳定的频率信号,但其通常需要外部电路(如放大器、负反馈回路等)来维持震荡,且需要精确设计的电容和电阻来确保正确的频率。: 高精度的晶体振荡器通常比其他类型的振荡器要贵,尤其是在需要高稳定性和高精度的应用中,成本可能是一个限制因素。
2025-04-16 16:18:15
2657
原创 反馈电路判断方法
当输入信号从相异端子输入,输出端的极性与输入端相同则是负反馈,相反则是正反馈。当输入信号从相同端子输入,输出端的极性与输入端相同则是正反馈,相反则是负反馈。将U0置零看反馈还是否存在,如不存在则为电压反馈,反之则为电流反馈。输入信号与反馈信号的叠加方式。电压信号串联叠加,电流信号并联叠加。相异端子则是串联负反馈,输入信号是电压源。相同端子则是并联负反馈,输入信号是电流源。从三个方面判断:存在性、交直流、正负。
2025-04-16 08:59:09
804
原创 差分放大电路
另外两边的温漂可以视为一对共模信号,噪声干扰通常都可以视为共模信号,差分放大电路对共模信号抑制强烈。在直流状态下Re的作用加倍(静态工作点稳定),交流状态下Re等效为0。核心分析方法差模进来Re作用消失,共模进来Re变为两倍。其他形式的差分放大电路。
2025-04-15 21:54:00
491
原创 电流源种类
威尔逊电流源同样能削弱放大倍数β较小时候的误差。另外T2晶体管的射极电阻是个电流源,内阻无穷大,能很好地稳定输出电流Ic2。温度升高ic增大,R上压降增大,T0中Ube上电压降低,Ib变小,Ic也变小。IC=β/(β+2)*IR,当β远大于2的时候,IC≈IR。需要较大的Ic电流时,电阻R上的功率损耗严重,这应该是集成电路中需要避免的。Re2是为了增加T2管的工作电流,从而提高T2的β。若需要较小的电流时,R的阻值也需要很大,集成电路难以实现。比例电流源拥,因为有射极电阻的存在,有更好的温度稳定性。
2025-04-15 21:09:45
912
原创 两个esp8266相互通信
已经进入透传模式,客户端发消息服务端可以收到,但客户端收不到服务端的消息。首先连接好了两个esp8266WIfi模块。一个esp8266作为服务器。一个esp8266作为客户端。
2025-01-14 15:14:17
1133
原创 ULN2003+28BYJ48步进电机
28BYJ-48 步进电机是一个四相步进电机,它需要通过对四个相绕组(A、B、C、D)施加不同的电流信号来实现逐步转动。是一款基于 ARM Cortex-M3 核心的微控制器,它拥有丰富的 I/O 引脚、定时器和 PWM 输出等功能,非常适合控制步进电机。
2025-01-11 12:00:10
3369
原创 基于bootloader的远程ota升级
1.内核初始化:1.1内核复位和NVIC寄存器部分清零1.2内核设置堆栈:内核从向量表0地址读出堆栈地址,并设置主堆栈指针(sp)1.3设置PC和LR寄存器2.强制pc指针指向中断向量表的复位中断向量,执行复位中断函数3.在复位中断函数中调用systemInit函数,初始化时钟,配置中断向量表4.调用__main函数完成全局/静态变量的初始化和重定位工作,初始化堆栈和库函数5.跳转到main函数中执行。
2024-12-29 20:50:23
1482
原创 I2c学习要点记录
7位地址模式:理论上最多支持112个设备。10位地址模式:最多支持1024个设备。实际上,设备数量通常会受到信号质量、电气限制和硬件支持的影响,通常在连接10到20个设备时最为稳定,更多设备需要额外的硬件扩展。当多个任务共同使用IIC时,我们可以定义一个全局变量标志位使IIC的使用不会冲突。全局变量的声明可能会用到volatile 关键字。
2024-12-29 11:12:51
939
原创 基于stm32的平衡车
关于Mpu6050的时钟,他刚开启的时候用的是内部内部 8M RC 震荡,精度不高,当我们使用传感器采集数据时,就不能使用这个时钟了,要么换为外部时钟,要么换成x、y、z轴的任意内部倍频时钟源,在这里我们选择 x 轴陀螺 PLL 作为时钟源,以获得更高精度的时钟。就把输出pwm的引脚连接到输入捕获定时器的引脚,测试波形,结果发现测试的引脚电平都没变化,所以是程序有问题,结果发现是定时器hal初始化后,并未开启,我们要自己开启。为了防止小车在平衡过程中,发生左偏和右偏,再加上一个转向环。
2024-12-27 17:41:29
746
原创 FreeRTOS学习笔记
内存管理一般都是用heap管理4,heap4和heap5能够合并相邻的内存碎片,heap5能够管理多个离散堆。分配内存与释放内存查看运行过程中,空闲内存的最小值malloc失败函数创建任务:创建任务需要做哪些事情:1.提供一个函数2.每个函数都要有自己的栈和tcb(每个任务都要有任务控制块)3.优先级静态分配内存创建任务。
2024-12-26 15:55:17
1232
原创 IIC+USART+SPI通信协议用到的寄存器
寄存器功能描述常见设置项SR状态寄存器,显示USART当前状态TXE、RXNE、ORE、NE、FE等DR数据寄存器,接收或发送数据读取接收数据,写入发送数据BRR波特率寄存器,配置USART的波特率波特率设置CR1控制寄存器1,配置USART的操作模式UE、RE、TE、M、PIE等CR2控制寄存器2,配置停止位、LIN模式等STOP、LINEN、CLKEN等CR3控制寄存器3,配置DMA和流控制RTS、CTS、DMAT、DMAR等GTPR保护时间和预分频器寄存器PSC、GT。
2024-12-24 22:14:41
1490
原创 Spi+w25q64
32Mbit 4M字节 64个块,一个块64k,一个块16个段,每个段4kb ,一个段16页,1页256个字节。Spi是一种高速的,全双工,同步串行通信总线,主要应用于flsah,各种传感器。来一个时钟上升沿信号,主机和从机分别把自己高位的值左移出来(一般高位先行)来一个时钟下降沿信号,主机和从机分别读入数据,存储到移位寄存器的低位。spi通信还需要设置时钟的极性和相位,它决定了什么时候进行数据采样。SPI只能主从设备通信,从设备之间无法通信,擦除的最小单位是段,写入的最小单位是页。
2024-12-24 22:10:47
215
原创 stm32+I2C +W24C02
需要注意的是,上下对照着看,在读字节时需要先进行假写真读操作,这样是为了传递设备内地址,将读地址写入地址计数器,可以选择从内存的那个位置读取数据。然后再一次发送设备地址,地址码读写最后一位为读,这时32就会让出数据总线,从地址计数器的位置读取数据。使用开漏的话设备空闲统统一输出高阻态,上拉电阻把SDA拉成高电平,当需要通信时,从设备把引脚拉低,SDA总线为低电平。W24C02读写时序,写入字节时,会在发送起始信号后发送一个设备地址,并确定谁占用数据总线,然后再发送一个数据存储地址,说明要从哪里读数据。
2024-12-24 21:20:52
685
原创 ARm架构,freertos中如何调用栈
单片机就像一台微型的主机,它能够组成一个完整的系统,cpu+内存+flash。cpu用来运行程序,运行程序过程中会用到内存,内存没有访问功能,所有的计算都在cpu内部实现的,内存只有读和写。当需要切换回来时就需要恢复现场了,通过a结构体里的sp指针,先将cpu所有寄存器的值恢复回来,然后再根据pc指针得到程序的运行位置,然后继续运行。在任务a运行过程中,sp栈指针在不断移动,当要切换任务b时,首先保护现场,将所有寄存器的值都记录下来,包括pc指针和sp指针,放在a的结构体中。
2024-12-23 22:23:11
344
原创 usart+dma+idel 大量数据传输
刚开始调试的时候有错误,一直不停的收到数据,查bug发现是DMA模式都设成循环了,在这里usart_tx应该是normal模式,不然就会一直收到消息。当串口需要接收到大量的数据,我们可以采用usart+dma+idel中断的方式来处理数据。只是在中断服务函数中设置标志位, 在callback函数中操作数据是否可以。因为没有设置临时缓冲区,所以要在中断完成回调函数中重新使能Dma。能否在dma传输完成callback函数重新使能dma传输。因为要使用串口中断需要先在串口初始化中使能中断。
2024-12-23 20:25:09
488
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅