自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 单片机引脚的电气属性Electrical properties

S (Supply pin):I (Input-only pin):I/O (Input/output pin):FT (5 V-tolerant I/O):FTf (5 V-tolerant I/O, FM+ capable):TTa (3.3 V-tolerant I/O directly connected to ADC):TC (Standard 3.3 V I/O):B (Dedicated BOOT0 pin):RST (Bidirectional reset pin with embedded

2025-03-20 21:55:33 367

原创 keil点了调试Debug按钮后没有停下来

问题:正常我们点了Debug要在入口断下来,和在循环内断下来,可是没有就要开始排查。现有状况:下载正常,debug没有断下来。最好发现:没有焊接boot。测试:用金属丝短接。

2025-03-13 13:03:27 156

原创 远程部署 Qt 应用程序套件错误原因

构建套件报红色警告错误:图一:

2025-02-24 23:09:56 251

原创 modbus协议处理

【代码】modbus协议处理。

2025-02-04 17:57:25 217

原创 结构体DMA串口接收比特错位

uint16_t接收时候会比特错位。

2025-02-03 23:59:39 257

原创 网络字节序的大小端处理

【代码】网络字节序的大小端处理。

2025-02-03 22:41:02 289

原创 cubemx配置ETH(以太网)

处理以太网通信的核心中断,用于数据收发和错误处理。:用于低功耗模式下,通过网络事件唤醒系统的中断。Mode:选择以太网通信模式(RMII 或 MII)。:是否启用接收错误信号检测。:配置设备的唯一 MAC 地址。:设置接收缓冲区长度,通常为 1524 字节。Rx Mode:选择接收方式(轮询模式或中断模式)。

2025-01-30 14:49:22 1194

原创 ProfibusDP主机与从机交互

【代码】ProfibusDP主机与从机交互。

2025-01-29 20:56:10 271

原创 CAN波特率匹配

STM32Linux。

2025-01-27 22:21:50 315

原创 CAN总线

帧类型用途是否携带数据数据帧传输实际数据是远程帧请求发送数据帧否错误帧通知总线错误否过载帧延迟传输,避免总线过载否每种帧格式在 CAN 总线通信中都有特定的作用,确保总线的高效性和可靠性。

2025-01-27 17:08:46 481

原创 IMX6ull(Linux)基于can-utils测试

【代码】IMX6ull(Linux)基于can-utils测试。

2025-01-26 00:03:03 114

原创 IMX6ull项目环境配置

2.4版本后的U-boot.bin移植进SD卡后,通过串口启动配置开发板和虚拟机网络。

2025-01-25 22:22:38 335

原创 SocketCAN

socketcan是Linux上的CAN协议(控制局域网).大多数字符设备实现一次只支持一个进程打开设备,类似于串行接口。更换 CAN 控制器需要使用另一个设备驱动程序,并且通常需要使应用程序的大部分内容适应新驱动程序的 API。Socketcan的出现克服所有这些局限性。像注册网络协议一样打开socket,传递CAN协议.创建完成需要进行绑定(bind),发送使用send、sendto、sendmsg,接收使用recv。以下代码是创建一个CAN套接字并将其绑定到指定CAN接口(如can0。

2025-01-25 15:20:34 1062

原创 AD忽视器件摆放距离设置

AD忽视器件摆放距离设置

2025-01-23 21:54:01 102

原创 Altium Designer线与线的宽度设置

嘉立创目前线与线最低是6mil。

2025-01-22 12:42:26 80

原创 Pmos_VGS正负25v芯片方案与重要参数选型

pmos芯片要考虑的重要参数:导通电阻(R_DS(on))栅极阈值电压(V_GS(th))开关延迟时间(t_d(on)、t_d(off))栅极电荷(Q_G(TOT)、Q_GS、Q_GD)驱动电路设计:散热设计:高频应用:保护电路:在使用AOD403 PMOS时,以下参数尤为重要:芯片方案:注意:漏源电压和栅源电压:电流能力:功耗:雪崩能力:热阻性能:导通性能:电容特性:开关性能:体二极管性能:

2025-01-20 18:16:39 949

原创 PMOS设计电路时候最主要要关注的参数

在设计PMOS电路时,选择和使用PMOS的关键在于根据具体应用场景,关注以下主要参数。根据具体应用场景(如开关电源、电池保护或负载开关),选择合适的PMOS参数,才能保证电路的性能和可靠性。

2025-01-20 17:31:44 690

原创 PMOS管的导通条件

PMOS管(P型金属氧化物半导体场效应晶体管)的导通条件主要与其栅极(Gate)、源极(Source)和漏极(Drain)之间的电压关系有关。

2025-01-20 17:19:47 2988 2

原创 基于STM32的UART DMA处理不定长数据通信代码讲解

本代码实现了基于STM32的UART通信功能,采用DMA(DirectMemoryAccess)方式接收和发送数据,主要用于高效的数据传输,避免占用CPU资源。代码中还结合了RS485通信的方向控制,适用于需要半双工通信的场景。

2025-01-19 21:18:24 549

原创 主控制器与子模块通讯协议

元件状态在协议中主要用于描述软元件的当前状态(旧状态和新状态),具体根据元件类型的不同,其状态值的含义也不同。的作用是主站请求子模块报告其软元件动态,同时下发需要子模块刷新的操作。其数据区内容根据子模块类型(数字量、模拟量或通讯模块)有所不同。:数据长度字段仅包含数据区长度,不包括站号、功能码、子模块类型(某些协议中不含此字段)和CRC校验。,其数据区内容根据子模块的功能类型(数字量、模拟量或通讯模块)有不同的排列方式。的作用是子站报告其全部扩展模块的数量。该功能用于主站查询子站的扩展模块信息。

2025-01-19 14:38:22 881

原创 usart与dma接收定长数据与空闲中断

是HAL库的扩展函数,专门用于解决上述问题,特别适合处理串口通信中不固定长度的数据帧。是HAL库中用于通过DMA接收数据的基础函数。需要手动启用空闲中断,并在中断回调中处理接收到的数据。

2025-01-19 10:33:13 383

原创 CubeMX_USART_配置

根据图片,勾选了,适合RS485半双工通信。

2025-01-18 13:08:57 957

原创 CubeMX_GPIO_Output_配置

定义引脚的工作模式:配置引脚是否启用内部上拉或下拉电阻:定义引脚的输出切换速度,影响驱动能力和功耗:

2025-01-18 12:19:22 546

原创 cubeMX_TIME配置

TIM3 是一个通用定时器,支持多种功能,比如定时中断、PWM 输出、输入捕获和编码器模式等。如果 TIM3 需要外部触发信号(比如来自另一个定时器或外部引脚),则需要配置触发源。如果你需要 TIM3 作为其他定时器的从设备(比如用于触发同步),可以启用从模式。配置预分频器(Prescaler)和自动重装载值(ARR),以生成所需的中断频率。如果需要组合多个通道(比如用于高级 PWM 功能),可以在这里进行配置。:启用 XOR 功能,用于输入捕获时将多个输入信号组合。:用于测量输入信号的频率或脉宽。

2025-01-18 10:40:30 1347 1

原创 esp32_uart中断_接收LORA数据

【代码】esp32_uart中断_接收LORA数据。

2024-12-08 13:36:14 152

原创 ncurses移植错误问题

【代码】ncurses移植错误问题。

2024-08-18 22:01:02 153

原创 FreeRTOS源码改动

2024-07-05 14:28:32 147

原创 FreeRTOS任务切换

任务A切换任务B:对任务A保存现场,堆任务B恢复现场的这个过程就是上下文切换。FreeRTOS任务切换到过程在PendSV中断服务函数里面完成。PendSV中断触发条件:实际是ICSR寄存器bit28位置1触发。将CPU寄存器PUSH到任务块堆栈中,这个过程称保存现场。将任务堆栈POP到CPU寄存器中,这个过程称恢复现场。任务切换3个概念:保存现场、恢复现场、上下文切换。进入分析xTaskIncrementTick()退出分析xTaskIncrementTick()

2024-07-03 19:27:50 213

原创 FreeRTOS开始调度器启动第一个任务分析

vPortSVCHandler只会在调度器开启调用一次进行任务切换,后面任务切换在PendSV进行。

2024-07-03 15:50:13 205

原创 【无标题】

关于prvStartFirstTask()函数设计TCB出栈和汇编将开新一篇进行分析。进入分析vPortSetupTimerInterrupt( void )退出分析vPortSetupTimerInterrupt( void )进入分析xPortStartScheduler()退出分析xPortStartScheduler()

2024-07-03 12:23:59 170

原创 FreeRTOS列表移除列表项(崽)uxListRemove()

2024-07-03 02:22:00 222

原创 FreeRTOS列表升序插入列表项(崽)vListInsert()

将待插入列表的列表项按照列表项值升序排序的顺序,有序地插入到列表中。

2024-07-03 01:54:08 547

原创 FreeRTOS列表项插入列表vListInsertEnd()

函数用于将待插入列表的列表项(pxNewListItem)插入到列表 pxIndex 指针指向列表项的前面,是一种无序的插入方法。

2024-07-03 01:16:18 237

原创 FreeRTOS列表初始化函数与列表项初始化函数

2024-07-03 00:43:47 128

原创 FreeRTOS列表与列表项

2024-07-02 23:05:16 333

原创 FreeRTOS挂起恢复分析(ISR)

2024-07-02 00:44:41 137

原创 FreeRTOS挂起任务恢复分析

2024-07-01 23:40:20 134

原创 FreeRTOS任务挂起分析

2024-07-01 23:25:16 91

原创 FreeRTOS静态创建任务分析

define configSUPPORT_STATIC_ALLOCATION 1 设置了静态创建任务。需要重新定义这2个函数,由程序员进行分配任务空间(空闲任务)(定时任务)定义空闲分配空间函数和定时分配空间函数。在调度器里被使用这2个函数。静态创建任务内部分析。

2024-07-01 11:28:56 590

原创 FreeRTOS删除任务内部分析

在RTOS环境中,空闲任务是一个特殊任务,当系统中没有更高优先级的任务可运行时,空闲任务会被调度执行。如果要删除当前任务,就会把任务插入 等待删除列表,接着从调度器创建的空闲任务中的,prvCheckTasksWaitingTermination();进入分析prvCheckTasksWaitingTermination();退出分析prvCheckTasksWaitingTermination();进入分析vTaskDelete();进入分析vTaskDelete();执行的任务要删除其他任务时。

2024-06-30 20:24:16 465

rs485-dma-LinuxAndSTM32CAN\ProfibusDP主机与从机交互

rs485-dma-LinuxAndSTM32CAN\ProfibusDP主机与从机交互

2025-01-30

基于STM32的UART DMA处理不定长数据通信代码讲解

基于STM32的UART DMA处理不定长数据通信代码

2025-01-19

cubeMX-TIME配置

1

2025-01-18

空空如也

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

TA关注的人

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