- 博客(292)
- 资源 (16)
- 收藏
- 关注
原创 can 收发器 SN65HVD230DR的使用说明
高速模式 和 斜率模式都是 正常工作模式,可监听 可发送数据,只是斜率模式功耗低一点,还有EMI的问题。低功耗监听模式下,接收器打开,可以接受到数据,但是驱动器是关闭的,mcu 的can 控制器无法驱动 ACK, 只能NAK.正常工作模式下(高速或者斜率),接受器 (RX)和 驱动器(TX) 打开,mcu 的can 控制器可以ACK.配置成开漏输出,输出置1的情况下单片机引脚此时处于浮空,高阻态,此时才是真正的。RS 接地的时候,can 收发器处于高速模式。在推挽模式下,输出低电平,这时CAN的功耗要大。
2025-07-08 10:08:10
228
原创 修改外部参数C实现
某些RTOS或特殊框架可能强制使用u32传递指针。函数签名直接表明需要什么类型的参数。IDE和文档工具能正确识别参数类型。回调函数注册时参数类型受限的情况。系统级API需要通用参数类型时。编译器能直接检查类型是否正确。后续开发者一看就明白参数意义。与不支持指针类型的语言交互时。受限于特定的框架或系统要求。不需要危险的强制类型转换。不需要额外的类型转换注释。需要实现某种通用接口设计。需要隐藏实际数据结构时。有明确的跨语言交互需求。符合C语言的最佳实践。
2025-06-26 13:09:57
234
原创 Modbus调试工具的使用方法---- Modbus Poll 和Modbus Slave详细图文教程
Modbus Poll官网详细资料: Modbus 主站模拟器 Modbus Poll 快速入门指南: Modbus Poll Quick start Modbus Poll 用户手册: Modbus Poll 用户手册Modbus 从站模拟器Modbus Slave 用户手册或者:Modbus仿真器 Modbus Poll 和Modbus Slave详细图文教程 - 知乎
2025-06-21 18:09:27
349
原创 Modbus 主机(Master)和从机(Slave)的区别
主机和从机是Modbus通信中互补的两个角色,主机负责控制和调度,从机负责数据提供和执行。在设计Modbus设备时,需要根据设备在系统中的角色选择实现相应的功能。
2025-06-19 16:57:37
341
转载 STMCUBEMX中直接更改单片机型号
第一种方法就是使用cube选择一个新使用的MCU型号,然后使用导入功能导入原来的工程,只要同系列同管脚的,就能把原来的配置完全复制过来,这种方法仅限于同系列。用这样的方法导入的话,原来工程中自己编写的代码不能导入,导入的只是STM32Cube的配置相关。第二种方法,直接拷贝一个正在使用的工程,包含.ioc文件,我使用Nopad++打开这个.ioc文件,搜索"ZGT",在文件中能搜索到3个地方是ZGT的,把这个ZGT更换成VET,然后保存。替换成功,原来的参数配置不变,但是需要重新配置时钟树。
2025-06-17 14:16:04
75
原创 stm32f207zet6,通过网口(W5500)升级程序,详细过程说明及代码
fromelf --bin -o "$L@L.bin" "#L"12.完整升级过程的调试信息,可参考。3. 从14例程摘取有用的驱动及应用文件到新建stm32F207ZET6工程(注意是驱动和应用文件,没有协议文件哦,W5500自带协议,不需要移植LWIP。只需修改wiz_platform.c即可,这个官方给用户的平台文件,修改接口,对上驱动就可。1. 使用CubeMx软件,新建stm32F207ZET6工程,RCC使能,主频120M,并且调通spi3, ,定时器2,uart3(调试口)
2025-06-16 16:30:31
518
原创 EPD_2IN7_V2_Clear() 和 Paint_Clear(WHITE) 的区别
在微雪(Waveshare)墨水屏驱动中,EPD_2IN7_V2_Clear()虽然都能实现清屏效果,但二者的底层操作和适用场景有本质区别。和 Paint_Clear(WHITE)
2025-05-25 19:15:32
383
原创 墨水屏,Paint_SelectImage使用场景
在微雪(Waveshare)墨水屏的驱动库中,Paint_SelectImage(BlackImage)通过合理管理图像缓存,可实现复杂的动态界面效果(如动画、菜单切换),同时保持墨水屏的低功耗特性。需求:两个设备检测界面,固定文字如“电压/电流”+动态数值,以下是。通过此设计,可实现高效、低功耗的双设备检测界面。需手动分配内存,且大小必须匹配屏幕分辨率。若使用4灰度(16级)显示,缓存大小应为。是一个关键函数,用于。
2025-05-25 19:07:39
600
原创 微雪墨水屏 如何 控制绘制图形(如点、线、矩形等)线条粗细或点的大小
它定义了单个逻辑像素的物理显示尺寸,直接影响绘制效果的精细程度。通过灵活组合这些参数,可精准控制墨水屏的绘图效果,平衡显示清晰度与刷新效率。在微雪(Waveshare)墨水屏的绘图库中,DOT_PIXEL_1X1。以下是针对微雪(Waveshare)墨水屏驱动库中。
2025-05-25 17:41:45
771
原创 墨水屏 函数Paint_SetScale的详解
的函数,主要影响后续绘图操作(如画点、线、文字等)的像素放大效果。在微雪(Waveshare)墨水屏的驱动库中,Paint_SetScale(4)
2025-05-25 17:29:07
299
原创 微雪2.7英寸墨水屏 API函数 解释
局刷: Init + Display_Partial + 定期Display。4灰度: Init_4GRAY + 4GrayDisplay。通过合理选择函数组合,可平衡显示质量、刷新速度和功耗。标准全刷: Init + Display。
2025-05-25 16:12:36
285
原创 定时器相关概念
定时器是微控制器(MCU)中的硬件模块,用于等。T_{中断} = \frac{(PSC + 1) \times (ARR + 1)}{F_{CLK}}掌握定时器的配置与计算,可覆盖绝大多数嵌入式实时控制场景!
2025-05-18 19:46:56
665
原创 STM32的ADC模块中,**采样时机(Sampling Time)**和**转换时机(Conversion Time),获取数据的时机详解
在STM32的ADC模块中,**采样时机(Sampling Time)转换时机(Conversion Time)**是ADC工作流程中的两个关键阶段,直接影响采样精度和系统实时性。
2025-05-16 19:59:03
1682
原创 捕获输入引脚的频率代码实现,测试可用
下面是一个使用STM32F103RET6标准库实现的四路频率采样程序,使用PA6、PA7、PB0、PB1作为输入引脚,采样200-1000Hz频率范围。我们将使用定时器输入捕获功能来实现频率测量。
2025-05-16 19:03:47
843
原创 检测按键抖动的时间
在使用示波器测量KEY1按键消抖时间时,示波器的接地夹应连接到电路的公共地 ,示波器的测试针(探头)应连接到KEY1引脚 ,也就是图中标识为“KEY1”的线路上,这样就能通过示波器观察按键按下和松开过程中该引脚的电平变化情况,进而测量消抖时间。
2025-05-15 18:02:43
154
原创 堆(Heap)、栈(Stack)和全局变量(Global Variables) 是内存管理的三个核心概念
是内存管理的三个核心概念,它们决定了程序如何分配和使用RAM资源。在函数外部定义的变量,生命周期贯穿整个程序运行期间。过多的全局变量会挤占SRAM空间,导致内存不足。在STM32(以及所有嵌入式系统)中,(局部变量、函数参数、返回地址等)。),适合不确定大小的数据。
2025-05-14 13:01:18
996
原创 内存划分包括 Flash存储器、SRAM 和 外设寄存器
以下是详细的划分说明,并附上典型应用示例。:控制 GPIO、USART、SPI、TIM 等外设。:存储程序代码(固件)、常量数据、配置参数等。STM32F407VETx 的内存划分包括。:运行时变量、堆栈、动态内存分配。
2025-05-14 12:59:36
690
原创 STM32F407VETx 内部Flash详细划分说明
在STM32F407VETx中,Flash存储器的组织方式分为三个主要部分,每个部分都有特定的功能和用途。
2025-05-14 12:51:45
1034
原创 实现三个采集板数据传送到一个显示屏的方案
这个时候,主机要得到从机的地址,就要给三个从机广播(给三个从机同时发送要地址的命令),然后从机接受到命令后,先随机延时(避免数据线冲突),再将自己的地址发送给主机。主机接受到各个从机的地址后,带上地址给从机发生要数据的命令(这个步骤就和上面一样了)。通过开关组合设置不同地址(如0001=1,0010=2,0011=3)每个采集板安装二进制拨码开关(如4位DIP开关)硬件设置方式,拨码开关设置(推荐)优点:直观、不易丢失设置。
2025-05-10 14:48:02
277
原创 STM32F103RC 芯片中,ADC(模数转换器)的18个复用通道包括16个外部模拟输入通道(对应GPIO引脚)和2个内部信号通道(温度传感器和内部参考电压)。
的18个ADC通道包括16个外部引脚+2个内部信号,通过复用器分时采样。内部通道(温度/VREFINT)无需外部电路,但需注意采样时间和校准。多通道应用时,优先使用扫描模式+DMA以提高效率。
2025-05-09 14:38:43
724
原创 STM32F103RC中ADC1和ADC2通道复用
这表示STM32F103RC芯片内,ADC1和ADC2的16个外部通道(IN0 - IN15 )在物理上都连接到了PA0 - PC5这些GPIO引脚上,在使用时可根据需求配置这些引脚作为ADC通道来采集模拟信号。通过这种共享设计,STM32在有限的引脚下实现了多ADC灵活性,但需开发者注意合理分配资源。
2025-05-09 14:22:39
404
原创 STM32F103C8 AD采样
通过以上配置和步骤,STM32F103可以有效地完成模拟信号的数字化转换。:通过ADC_SQRx或ADC_JSQRx寄存器选择要转换的通道。采样时间 = (设置值 + 12.5)个ADC时钟周期。:通过ADC_SMPRx寄存器设置每个通道的采样时间。多达18个复用通道(16个外部通道+2个内部通道)转换时间:1μs(在56MHz ADC时钟下):转换结果存入ADC_DR寄存器。首次上电后需要等待一段时间再校准。模拟输入电压范围:0-VREF+:在采样时间内保持输入信号稳定。:软件触发或硬件触发。
2025-05-09 13:48:34
580
原创 SR=0XF8
在串口中断函数里面,写了上面的代码,结果串口接受数据就有问题了,SR=0XF8,犯了一个错误,就是在中断函数里面,操作了特别耗时的函数。解决办法就是在中断里面打标志,在主程序里面操作耗时程序。4年没写代码了,操作失误啊。
2025-04-23 14:15:06
146
原创 串口小板的使用
1. 下载并安装串口小板的驱动,CH340 或者 CP2102,电脑设备管理器查看端口COM,看串口小板的驱动是否安装成功。4. 连接调试板,测试调试板的发送,是否能正常发送,再调试接受。3. 短接R和T, 打开串口软件,测试一下串口小板是否正常。2. 根据需要设置串口小板的通信模式,232,485等等。
2025-04-22 11:31:34
113
原创 STM32CubeMX
STM32CubeMX 是 ST 微电子公司提供的图形化配置工具,用于 STM32 微控制器的初始化代码生成。它可以帮助开发者:可视化配置引脚功能和外设生成初始化代码框架配置中间件(如 FreeRTOS、FatFS 等)估算功耗。
2025-04-17 11:02:57
790
转载 STM32CubeMX时钟源的选择
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。使用STM32CubeMX进行时钟源RCC配置的时候,可以选择使用内部时钟或外部时钟。当程序对时钟精度要求较高时,通常使用外部时钟。原文链接:https://blog.youkuaiyun.com/songxunwen/article/details/121385560。有源晶振顾名思义,需要外部供电,由一个引脚输出固定频率波形。BYPASS Clock Resource:外部有源晶振(旁路时钟源)
2025-04-15 15:45:46
156
原创 Emwin 实现汉字显示 FontCvtST.exe and U2C.exe
新建hanzi_test.txt文件,保存编码为带有BOM UTF-8,再打开U2C软件,选择该文件,点击Convert,再点击Close.会在同一路径下生成hanzi_test.c文件,打开hanzi_test.c文件,将这个两行字符串复制到工程源码具体位置(apStrings[]),进行下一步应用就行。打开软件 FontCvtST,如图设置后,点OK。字体设置, 黑体,常规,24后, 点击确定。设置所有字体不用选中,设置后全部变成了灰色。自己在文本输入的字体变成白色。导入自己新建.txt文本。
2025-04-14 10:35:27
288
原创 C 语言程序 中,使用除法运算符号 /,输出浮点
/ 强制转换为浮点除法。// 输出: 3.75。// 等价于 10 / 2,结果为 5(更快但可读性降低)double result = (double)5 / 2;// 结果为 2.5。// 结果为 2(不是 2.5)float result = 5.0 / 2;// 结果为 2.5。// 结果为 2.5。// 结果为 1(不是 1.5)// 输出: Odd。
2025-04-14 09:07:10
459
详细介绍linux下移植wifi的步骤
2018-07-12
linux 下 移植 wifi . 概念讲解, iw ,wpa, dhco, hostapd每个步骤都有。
2018-07-17
svn 服务器和客户端
2018-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人