自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (19)
  • 收藏
  • 关注

原创 ModBus 协议

线圈寄存器支持读也支持写,写在功能码里面又分为写单个线圈寄存器和写多个线圈寄存器。保持寄存器:这个寄存器的单位不再是bit而是两个byte,也就是可以存放具体的数据量的,并且是可读写的。写也分为单个写和多个写,所以功能码有对应的三个:0x03 0x06 0x10。离散输入寄存器就相当于线圈寄存器的只读模式,他也是每个bit表示一个开关量,而他的开关量只能读取输入的开关信号,是不能够写的。输入寄存器:这个和保持寄存器类似,但是也是只支持读而不能写,一般是读取各种实时数据。0x0f: 写多个线圈寄存器。

2023-12-25 13:43:43 426

原创 字节对其,内存中位置分析

去掉字节对齐:__ALIGN_BEGIN g_usbd_property_descritpor 内存地址:0x20000112 非4的倍数。在进行USB 通讯,设备信息交互通讯 是按4字节进行对齐补齐,如果不进行对齐补齐,默认去对齐补齐位置获取数据 导致通讯获取描述符失败。#define USB_LEN_OS_PROPERTY_DESC 0x28 //特征描述符。通过以上分析 字节对比补齐是 在内存中自动按地址对齐补齐。

2023-08-15 18:10:21 157

原创 经验分享一:UART 可进入空闲中断,DMA却没数据

先配置DMA、再配置串口会导致接收不到数据,寄存器配置完全正确,非常奇怪的问题。GD32E508 UART3 可进入空闲中断、但DMA通道却没有数据。先配置串口再配置DMA。

2023-07-11 19:48:41 710

原创 行业交流群,大佬解析,保留下

由于在type之后加上##连接符,所以在代码中使用实际的type名称时,它会根据具体的type生成相应的函数名。定义了一个名为type的结构体名称,这个结构体的类型是struct type。这里使用了typedef关键字,将struct type重命名为type,以便在代码中可以使用type来代表这个结构体类型。通过使用宏定义和typedef,可以在代码中使用INTERFACE代表类型,并根据具体的类型生成对应的函数名。这样可以在代码中定义各种具体的type,并使用相应的函数进行操作。

2023-06-26 15:45:46 140

原创 WinUsb实现USB免驱通讯技术总结

在 Windows 8 或更高版本地系统上已经集成了该驱动程序,这意味着Windows 8 或更高版本地系统上不需要安装驱动程序,系统自动会匹配WinUSB驱动,而对于Vista、Windows7、XP系统,可以通过一些第三方软件(如Zadig)来安装或生成WCID版本的驱动程序,同样只需要安装一次WCID版本的驱动软件,以后所有WCID设备都可以使用该驱动,间接实现了免驱。0x81, /* 端点的特性:B3-B0(端点号), B6-B4(0), B7(1=IN, 0=OUT)

2023-06-03 11:18:37 2815

原创 WinUsb实现USB免驱通讯介绍

WinUsb设备的用途是让Windows将Winusb.sys作为设备的功能驱动程序载入,而无需自定义INF文件。在 Windows 8 或更高版本地系统上已经集成了该驱动程序,这意味着Windows 8 或更高版本地系统上不需要安装驱动程序,系统自动会匹配WinUSB驱动,而对于Vista、Windows7、XP系统,可以通过一些第三方软件(如Zadig)来安装或生成WCID版本的驱动程序,同样只需要安装一次WCID版本的驱动软件,以后所有WCID设备都可以使用该驱动,间接实现了免驱。

2023-06-03 11:05:34 2612

原创 KEIL加载内核数据

2023-05-12 15:47:38 72

原创 WinUsb免驱 通过Cubmx生成 IAR、KEIL工程异同

WinUsb免驱 通过Cubmx生成 IAR、KEIL工程异同

2023-05-05 11:25:32 201

原创 CJSON 库解析案例

/Gps 开启周期。if(SJSON_IsValid((char*)RxBuf)==0) //表示JSON不合法。

2023-04-02 10:06:42 105

原创 MCU内存不足、及过度优化解决方案

其中,选择针对代码运行速度优化(Speed)时,若MCU剩余的资源空间足够,还可以勾选“Nosizeconstraints”选项,该选项将让编译器牺牲一部分的空间占用来换取最快的代码执行速度。在高等级编译优化时,可以选择项目的编译优化倾向,针对代码大小优化(Size)、针对代码运行速度优化(Speed)或平衡状态。在程序开发过程中我们常常遇到内存不足、编译工具过度优化程序、导致在线调试时,程序执行跳转到不可预期的地方,现针对以上提出的问题、提出以下解决方案、供后者使用;1.1、将优化等级调整到最高。...

2022-07-29 16:16:11 2681

原创 C 语言实现判断时间合法性

摘抄以后遇到同类问题自己可移植

2022-06-14 15:42:16 471

原创 #pragma optimize= none

IAR 优化等级

2022-02-25 16:21:04 1246

原创 项目顺利进行需要条件

项目顺利进行需要条件本文主要根据自己工作经验、从“人、机、料、法、环”五个方面谈谈项目顺利进行需要条件。人: 即“人员”,任何一件事都离不开人的参与,也是事情顺利开展关键!就项目而言:人员如何参与到项目中,需要一个合理的分工。那么如何分工协作呢?产品经理: 产品经理主要负责整个项目功能需要、组织会议、确定项目需求,并下发项目需要说明书,并确定项目开发模型、切勿乱修改需求。项目组长: 主要盯整个项目进度、遇到问题及时处理解决,协调整个项目对内、对外人员、资源等项目模块中技术担当: 一.

2021-12-16 08:40:55 388

原创 项目开发流程图

2021-02-05 17:51:05 291

转载 读取W25QXX数据时的注意事项

使用w25读取flash数据的时候,上电第一次读取数据总是出错,之后读取数据便是正确的了,刚开始以为是片选脚的速率比SPI的速率低而导致先进行了SPI读取,然后再拉低的片选。因为查看cube发现片选脚的为最低速率10MHZ,而spi的速率则达到了12M以上,但是修改了之后,发现还是会出现这一个问题,最后使用逻辑分析仪,查看时序,才发现W25根本就没有识别到第一次发送的数据,片选脚在上电时是拉低的,而W25所需要的片选脚有效电平就是低电平,之后将默认电平改为高电平,完美解决问题。...

2021-01-18 11:31:48 575

原创 STM32操作TFBS4711红外模块、数据发送抓波分析

序言 : STM32内部USART支持红外IrDA物理层协议,可以配置成IrDA模式直接驱动TFBS4711,实现红外收发。一:STM32CubeMx对串口配置Irda模式如下所示:根据以上配置,CubeMX自动生成代码:二、单片机(红外模块)发送端添加以下代码:while(1) 中增加以下代码: HAL_IRDA_Transmit(&hirda1, (uint8_t*)"ABCD", 4, 0xFFFF); // 发送符号 HAL_Delay...

2021-01-07 13:00:12 2604 14

原创 STM32 BootLoader跳转之前关闭全部中断

// 关闭全局中断 DISABLE_INT(); // 关闭滴答定时器,复位到默认值 SysTick->CTRL = 0; SysTick->LOAD = 0; SysTick->VAL = 0; // 设置所有时钟到默认状态,使用HSI时钟 HAL_RCC_DeInit(); // 关闭所有中断,清除所有中断挂起标志 for (int i = 0; i < 8; i++) { NVIC->ICER[i]=0xFFFFFF...

2020-12-30 15:52:27 3580

转载 tortoiseSVN的使用,如何删除服务器上某些版本?

具体操作:bai1、在受SVN控制的某层文件夹或文件上点右键,选择“TortoiseSVN-显示日志”2、在弹出的日志窗口中,右键点击要复原的版本,选择“复原到此版本”3、复原结束后,执行“提交”操作,将此版本作为版本库的最新版本比如你从50版复原,复原后产生的101版实际和50版是一样的,再往后的工作就和正常一样进行了如果要彻底从库中删除51-100版,那就很麻烦了,得把服务停掉,然后用svn的过滤工具来处理,非常的麻烦...

2020-10-16 08:23:51 2176

原创 IAR BootLoader,APP程序互相跳转,进入Hard_fault 错误,

IAR BootLoader,APP程序互相跳转,进入Hard_fault 错误捣鼓两天,才定位到问题所在,cubmax 创建工程IAR工程优化等级,过高,调低一点即可

2020-09-25 18:15:16 1041

原创 Error[Pe020]: identifier “HAL_StatusTypeDef“ is undefined

解决办法: 添加头文件 #include "stm32f4xx_hal_def.h"#include "stm32f4xx.h"#include "stm32f4xx_hal_def.h" 注意:必须先添加 #include "stm32f4xx.h " 再添加 #include "stm32f4xx_hal_def.h"否则报同样的错误

2020-09-04 17:01:06 817

原创 MSP430、STM32、8051单片机fatfs 文件系统移植 W25Q128

前言嵌入式系统中我们常常对flash、SD卡、U盘等进行操作,但我们操作一般是直接操作物理地址,使用起来相对来说比较繁琐,也不能将我们自己写的数据导出到我们的电脑中,这时大名鼎鼎的文件系统fatfs就可以派上用场,fatfs是一小型的可裁剪免费文件系统,移植起来比较方便,移植完文件系统大大缩短开发周期,可以很方便的操作内存,废话不再多说,下面开始介绍移植文件系统步骤:参考:https://blog.csdn.net/qq_21475601/article/details/78032854ht

2020-09-02 17:19:48 2941

原创 485通讯,发送完数据从机立刻返回,主机接收数据不完整问题

void UART485_TX_START(void){ RS485EN(1); for(ProbeUart_TxIdx =0;ProbeUart_TxIdx<pProbeUart_TxBuf;ProbeUart_TxIdx++) { // Load data onto buffer USCI_A_UART_transmitData(USCI_A0_BASE,ProbeUart_TxBuf[ProbeUart_.

2020-06-28 15:34:14 3584

原创 MSP430F5438\MSP430F5438A 操作大内存(Ram),程序跑飞

可以参考TI网站如下:https://e2echina.ti.com/question_answer/microcontrollers/msp430/f/55/p/189352/580926#580926MSP430 Memcpy 不建议大量数据的拷贝,经测试少于4K 字节是可以的,平台MSP430F5438开始申请大容量RAM,程序跑飞解决方案,以及原因需要重定义 __low_level_init 启动代码中会调用该函数,去关闭看门狗,现在很好奇的是,启动代码初始化,申请内存,能耗时那么.

2020-06-09 10:58:52 844

原创 ST系列芯片被锁解决方法,借助stm32cubProgrammer,本例程是针对STM32wb55系列

STM32WB55单片机 被锁解决步骤第一步:BOOT0 IO口拉高 如下电路图所示:跳冒短接VDD,BOOT0引脚,或者自己想办法接到3.3V电源上第二步:随意下载一个与本单片机对应的正常程序通过STM32CubeProgrammer软件任意下载一程序即可,解锁程序2.1 如上图标识:1 检查stlink Serial number2 选中Stlink3 点击Connect2.2 点击connect 以后出现如下所示:出现SUccessfu...

2020-05-25 14:51:46 4362 2

原创 MSP430系列单片机通过下载器,完成脱机下载功能

MSP430XXXX 程序脱机下载步骤:第一步:通过CCS软件将.out生成.hex文件1.1 选中工程->选择属性如下图1.2 勾选Enable MSP430 Hex Utility 再点击Apply and Close1.3进入到你生成的.out 文件,会出现.hex文件第二步: 安装 uniflash_sl.5.0.0.2289.exe软件工具包在本目录下根据自己的安装盘完成安装安装完成电脑上会出现该图标必须将仿真器MSP43...

2020-05-21 16:52:37 2701 3

原创 8位单片机 普通IO模拟SPIMaster 之前写的模拟SPI 怕丢了,直接粘贴过来,平台是南京沁恒CH559 8位单片机

/********************************** (C) COPYRIGHT ******************************** File Name : SPI0Mater.C* Author : WCH* Version : V1.3* Date : 2016/06/24* Description : CH559提供SPI0主机模式操作接口函数 ..

2020-05-14 21:48:32 480

原创 ASCII码 方面以后自己使用,

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

2020-04-30 12:46:38 234

原创 基于正点原子Alpha LInux 开发板 ssh服务器的搭建,以及IP地址静态设置

基于正点原子Alpha Linux 开发板ssh服务器 搭建,以及IP地址静态设置。写本文目的,自以后能回顾下,也希望有需要的能借鉴下,写的不是很好,有不懂得地方可以留言.首先楼主在正点原子开发板自带Linux系统上经过多次尝试,搭建ssh服务器,以及静态IP地址的设置,最终还是失败告终, 最终在一位热心的网友帮助下,成功搭建ssh服务器,IP地址 的固定设置,废话多说,下面看搭建...

2020-04-21 22:11:07 2550 2

GD32E103 USB HID 收发64字节,测试Demo

修改固件,实现 GD32E103 USB HID 收发64字节,测试Demo

2024-09-05

IAR9 以上版本 使用工具

IAR9 以上版本 使用工具

2024-03-05

GD32C113 CANFD 调试代码使用CAN0PB8 PB9引荐

GD32C113 CANFD 调试代码使用CAN0PB8 PB9引荐

2023-10-11

GD32E508 CAN FD 例程代码,GD32E508 CAN2 PE0 PE1引脚配置CANFD 实现残数据通讯

GD32E508 CAN FD 例程代码,GD32E508 CAN2 PE0 PE1引脚配置CANFD 实现残数据通讯

2023-10-10

GD32E508 实现WinUsb代码工程,GD32E508 HS Device 工程实现WinUsb USB 免驱

GD32E508 实现WinUsb代码工程,GD32E508 HS Device 工程实现WinUsb USB 免驱

2023-08-15

GD32F303CB 实现WInUsb免驱工程

基于USB即插即用、又能实现大数据通讯, WinUsb 是个很好的方式,但由于芯片国产话替代、GD关于WInUsb历程超级少,STM32 实现WinUsb例程蛮多的,通过原厂技术支持,最终实现WInUsb实现与上位机进行通讯,方便有需要的同行作为参考

2023-05-29

基于正点原子STM32F103RCT6开发板 实现WinUsb免驱功能

1、基于正点原子STM32F103RCT6开发板 实现WinUsb免驱功能 2、提供IAR工程、KEIL(MDK5)工程 3、通过CubMx生成HAL库,实现WinUsb免驱工程

2023-05-05

队列demo,后期使用上可自己使用

队列demo,后期使用上可自己使用

2023-04-02

IpTool网络抓包工具

网络调试中,非常好用的网络抓包工具, IP过滤 “IP过滤”在捕包过滤使用最为常见,IP匹配主要分两类:一是不带通讯方向,单纯的是范围的匹配,如上图中的“From:to”类型;另外一类是带通讯方向的一对一匹配,如上图“< -- >”类型,不仅匹配IP地址,也匹配通讯的源IP和目标IP的方向。 端口过滤 “端口过滤”只针对两种类型的DoD-IP包:TCP/UDP。 数据区大小 “数据区大小” 的匹配针对所有DoD-IP类型包,不过需要说明的是,TCP/UDP的IP数据区是以实际数据区位置开始计算的,而其他类型的则把紧随IP包头后面的部分当作数据区。

2022-07-14

C/C++ 很好用的CJSON 通用库、组JSON、解析JSON

嵌入式C/C++ 很好用的CJSON 通用库、组JSON、解析JSON、 使用说明: 只需要把对应的json.c和json.h包含到工程中即可, 另外test.c 是使用例程和根据实际需要进行模仿 /*************************************************** 测试用例 请参考 test.c 文件 ****************************************************/

2022-07-08

Jlink驱动安装包,

Jlink驱动安装包,

2022-04-24

ESP32-IDF 开发环境在线安装 2.13版本

ESP32-IDF 开发环境在线安装 2.13版本

2022-03-31

串口监视助手、可通过该软件监控传输上传下发数据

串口监视助手、可通过该软件监控传输上传下发数据

2022-03-31

串口助手,大傻调试工具

CRC校验计算、各类校验等

2022-03-31

VSCode软件,软件编辑工具

VSCode软件,软件编辑工具

2022-03-31

STM32操作TFBS4711红外模块

STM32操作红外模块、使用方法参考博客 https://blog.csdn.net/qq_35257512/article/details/112305478

2021-01-07

QT5 简单的TCP Client 通讯

QT5 简单的TCP Client 通讯

2020-12-27

MSP430文件系统fatfs.zip

例程源码,文件包含fatfs10.b 源码,以及MSP430移植好的fatfs文件系统(IAR工程),flash W25Q128 亲测可用,如有需要自己修改,简单的修改,可参考移植到STM32 单片机等等

2020-09-03

MSP430文件系统fatfs.zip

例程源码,文件包含fatfs10.b 源码,以及MSP430移植好的fatfs文件系统,flash W25Q128 亲测可用,如有需要自己修改,简单的修改,可参考移植到STM32 单片机等等

2020-09-02

StFatfs.zip

STM32F407 移植过来的文件系统ff10b,参考正点原子代码,很简单的一个工程,测试可用内有参考例程,需要自己下载

2020-08-31

en.stm32cubeprog.7z

很好的ST系列程序脱机下载工具,并读取出来ST单片机程序,非常方便适用

2020-05-25

STM32F4操作W25Q128.zip

STM32F407操作者W25Q128,刚写好共享出来需要的自取,该历程比较简单,整个过程通过CUBmX 生成,比较适合初学者

2020-05-23

MSP430脱机下载工具LSD_FET430UIF驱动以及程序烧写步骤.zip

本资源包含LED-FET430UIF下载器驱动,官方下载,uniflash_sl.5.0.0.2289.exe MSP430脱机下载工具,已经脱机下载工具的使用,CCS生成hex,bin文件方法,目前已测试该脱机下载工具几乎适合市面上所有的MSP430芯片下载,不需要再买脱机下载器,仅仅需要一块柯尔达 LSD-fet430UIF调试工具,完全搞定,调试,生产下载

2020-05-21

MSP430VCP驱动.7z

MSP430下载器,FET430UIF VCP驱动,官网下载,适合window7 系统,其他系统没有测试过,有需要的自己下载把=

2020-05-21

STiSP 更新软件.zip

STM 系统存储器启动 ISP 更行程序,亲测可用

2020-05-14

STLINK固件升级.zip

ST-lINK固件升级软件,亲测可用,需要的可以自己下载

2020-03-12

简单的加密 解密算法

简单的解密 加密 c语言实现 主要通过移位,以及异或加解密,非常简单的数据加密.

2017-11-11

空空如也

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

TA关注的人

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