自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 博客内容目录

STM32单片机与cJSON:构建并解析JSON数据_stm32 cjson-优快云博客STM32-HAL库串口空闲中断DMA接收数据Demo_hal库STM32固件升级OTA_stm32 ota-优快云博客HL7协议简介及其在STM32上的解析实现-优快云博客STM32 boot启动程序跳转_stm32 bootloader跳转-优快云博客STM32 串口输出乱码解决方法_stm32hal库串口发送乱码-优快云博客STM32 HAL HAL_UART_DMAStop遇到的坑_stm32 hal库

2025-10-30 15:38:50 479

原创 TTL转232电路

最高通信速率 120kbps(部分型号支持 250kbps),适合中低速场景(如串口调试、工业仪表)。2 路收发通道,最高速率 120kbps,与 MAX3232 功能类似,但供电灵活性较低。单电源供电(3.3V/5V 兼容),内部集成电荷泵,无需外接正负电源,简化电路设计。:MAX3232 的VCC(引脚 16)需连接 3.3V 电源,并在电源与地之间并联。DOUT1(引脚 14,RS-232 电平发送端)连接至外部设备的。RIN1(引脚 13,RS-232 电平接收端)连接至外部设备的。

2025-10-30 15:17:05 538

原创 TTL转485电路

SMAJ6.5CA 是双向 TVS 管,钳位电压约 6.5V,可有效抑制总线上的浪涌、静电(ESD)干扰,保护 MAX3485 的 A/B 引脚。Ω)、不焊接 R9 和 Q1 时,RS485_DIR1直接连接到 MAX3485 的RE#和DE引脚(通过 R4 导通)。:120Ω贴片电阻(精度1%),用于匹配RS-485总线阻抗(特性阻抗通常为120Ω),减少信号反射。(无需额外的RS485_DIR1引脚),属于典型的 “硬件自动切换” 方案,无需软件手动控制方向。

2025-10-30 15:13:35 556

原创 串口、RS-232与RS-485应用全解析

在实际应用中,TTL是RS-232、RS-485与嵌入式芯片之间的“桥梁”——例如单片机的TTL串口需经MAX232转换为RS-232电平,或经MAX485转换为RS-485电平,才能与外部设备通信。RS-232(Recommended Standard 232)诞生于1962年,是最早用于计算机与外设(如调制解调器、打印机)通信的串口标准。RS-232、RS-485与TTL的核心差异体现在电平标准和通信能力上,这些差异直接决定了它们在不同场景中的应用定位。(逻辑1:+3.3V或+5V,逻辑0:0V);

2025-10-29 17:02:46 391

原创 IoTDA应用侧app开发403报错解决方案

【摘要】403报错是IoTDA服务权限校验失败的体现,涉及三重验证:身份合法性(AccessKey验证)、操作权限(Token权限检查)和资源范围(授权资源匹配)。不同错误提示对应不同校验环节失败。排查时需通过IAM登录IoTDA平台,检查账号权限并调试API。若API调试成功则检查代码参数,调试失败则根据具体错误解决。错误码可参考华为云API Explorer。

2025-10-29 16:59:23 397

原创 SourceTree 分支管理

本文介绍了使用SourceTree进行Git分支管理的核心操作与最佳实践。主要内容包括:1)分支管理的重要性,如并行开发和风险控制;2)基本操作指南(创建、切换、合并、删除分支);3)两种分支工作流(简单工作流和Git Flow);4)常见问题解决方案。通过SourceTree的图形化界面,开发者可以高效管理代码版本,实现团队协作和稳定发布。文章建议从简单工作流入手,逐步适应更复杂的团队协作模式。

2025-09-23 17:57:11 993

原创 SourceTree与Gitee协作实战:从环境搭建到代码管理全流程

本文详细介绍了如何利用SourceTree和Gitee进行高效的代码版本管理。首先讲解了Git、SourceTree安装和Gitee账号注册等环境准备步骤;接着说明了Gitee仓库创建、成员管理和测试文件配置;然后重点演示了SourceTree的核心操作,包括仓库克隆、本地修改提交推送以及多人协作时的远程修改拉取。文章还提供了私人令牌配置、命令行备选方案等补充说明,帮助开发者快速掌握可视化代码管理工具的使用方法,提升个人和团队开发效率。通过规范的版本控制流程,可有效降低代码冲突风险。

2025-09-23 11:12:05 1578

原创 小熊派Nano接入华为云

是一个结构体,用于存储MQTT相关的配置和状态,其中 cmd_rsp_cb成员用于存储命令响应的回调函数。中,该函数是一个用于构建和发布 MQTT 消息,上报设备服务属性。通过这两个结构体构建上报属性的消息更加方便,能够动态添加属性。函数,这些函数协同工作,以 JSON 格式创建服务属性,并通过 MQTT 发布。在小熊派源码中通过结构体封装了属性上报的函数,调用方便代码分析如下。创建如下服务,并添加对应的属性和命令。(创建各个属性内容的json对象)函数中设置了mqtt的回调函数。

2024-11-20 15:52:07 1576

原创 小熊派Nano驱动开发

根据输入参数从指定的ADC通道读取一段采样数据。GPIO引脚对应的功能以及命名在源码的。

2024-11-20 15:18:45 972

原创 小熊派Nano-LiteOS内核开发

这样在共享资源被取完,即信号量计数减至0时,其他需要获取信号量的任务将被阻塞,从而保证了共享资源的互斥访问。当该任务释放锁后,任务失去该互斥锁的所有权,互斥锁处于开锁状态。此时,可以使用信号量作为互斥锁,确保多个任务不会同时访问同一临界资源,从而避免资源冲突和数据不一致的问题。Huawei LiteOS的任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。任务1获取信号量而阻塞,直到任务2或者某中断释放信号量,任务1才得以进入Ready或Running态,从而达到了任务间的同步。

2024-11-18 17:28:49 925

原创 小熊派Nano|HarmonyOS初体验-LiteOS内核

注意:新建文件夹的名字和C文件的名字后续会用到,我这里的文件夹名为led,C文件名为myled。华为推出的HarmonyOS(鸿蒙操作系统),自诞生以来便备受瞩目,它不仅承载着华为对未来智能生态的愿景,更以其独特的分布式技术,为用户带来了前所未有的使用体验。建议按照官方给的十分钟上手教程完成环境安装,也可以通过官方的教学视频自行配置环境,不过可能会出现比较多问题,如果没有linux相关基础建议直接使用官方提供的镜像,后期熟悉后可以尝试自己配置环境。采用IoTCluB的E53接口标准,可接入所有的。

2024-11-18 17:07:09 1331

原创 HL7协议简介及其在STM32上的解析实现

本文将首先介绍HL7协议的基本概念,然后探讨如何在STM32微控制器上实现HL7消息的解析。

2024-10-13 20:08:35 1616

原创 Android MQTT调试助手开发

在Android开发中,与远程服务器进行通信是一个常见的需求。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)场景中。在阿里云物联网平台中,物联网设备与APP之间的交互是通过云产品消息转发实现,所以需要讲APP通过mqtt方式接入平台。

2024-10-12 16:50:09 1186

原创 阿里云物联网平台云产品流转(新版)—— APP与设备之间通信(MQTT.fx模拟)

阿里云物联网平台云产品流转(新版),能够实现两个设备之间的相互通信,采用MQTT.fx模拟设备与APP之间通信

2024-10-12 16:50:01 2889 1

原创 华为云应用侧Android测试APP

华为云设备接入IoTDA应用侧开发Android测试APP

2024-10-08 11:57:40 787

原创 华为云应用侧Android Studio开发

华为云设备接入IoTDA安卓APP开发

2024-10-08 11:46:26 2825 3

原创 STM32+有人4G模块接入阿里云平台

本次实验采用的4G模块为有人LET-7S1模块,利用模块的透传功能完成硬件设备与云端的通信。

2024-09-29 17:20:25 4286

原创 STM32单片机与cJSON:构建并解析JSON数据

cJSON是一个轻量级的、易于使用的C语言库,用于解析和生成JSON数据。cJSON.c和cJSON.h,非常适合资源受限的嵌入式系统。cJSON的设计目标是简单、快速和高效,因此它非常适合在STM32这样的微控制器上运行。

2024-09-24 16:19:18 8483

原创 设备接入阿里云物联网平台

通阿里云平台搭建、产品创建、以及设备接入,并且能够完成相关属性上报、事件上报和服务接收,后续只需要利用单片机和通信模块进行数据构建和发送,主要会用到MQTT连接和cjson库的调用,后续内容将继续更新。

2024-09-24 16:12:38 3654 1

原创 STM32固件升级OTA

本文将详细介绍如何在STM32微控制器上实现基本OTA升级,涵盖从环境搭建、协议选择、固件打包、传输及更新流程等关键环节。

2024-09-23 17:29:55 6443 3

原创 STM32-HAL库串口空闲中断DMA接收数据Demo

串口1、2、3、4采用空闲中断+DMA方式接受不定长数据

2024-09-23 17:22:53 2510

原创 STM32与华为云IoTDA的上传下达

实现了Mqtt的链接后,需要与华为云IoTDA进行属性上报、命令解析、命令应答等。需要参照华为云官网给出的API参考;

2024-08-15 16:28:19 1873

原创 STM32+有人LET-7S1接入华为云IoTDA

STM32单片机接入IoTDA主要用到的就是串口透传,所以把无线模块配置为透传模式连上服务器即可,本次实验通过有人4G模块"WH-LET-7S1"接入华为云IoTDA具体流程如下图。

2024-08-15 16:26:46 1971

原创 华为云——设备接入IoTDA平台搭建

创建产品成功后,点击对应产品,在模型定义中点击自定义模型弹出添加服务对话框。填写“服务ID”、“服务类型”和“服务描述”,单击“确定”。注意:服务类型:建议和服务ID保持一致;服务ID在后续连接中需要用到在对应服务的菜单中点击“新增属性”,填写相关信息后,单击“确定”。“属性名称”:temp“数据类型”:int(整型)“访问权限”:可读、可写“取值范围”:0~65535“步长”:0“单位”:不填写以上按上传温度为例。点击添加命令,弹出新增命令对话框,输入命令名称。

2024-08-12 18:20:25 3932

原创 0-20mA电流采集

单片机采集0-20mA电流,已验证

2024-08-12 18:08:13 4499 2

原创 STM32 boot启动程序跳转

小白一枚,有不对的地方欢迎指教。

2023-07-20 14:57:25 3023

原创 STM32 串口输出乱码解决方法

如遇到别的原因,希望与大家多多探讨,继续补充。

2023-07-20 10:09:17 1650

原创 STM32 HAL HAL_UART_DMAStop遇到的坑

最近在写串口DMA空闲中断接收的时候,发现一个问题。之后跳转HAL_UART_DMAStop()函数,发现函数内部主要由两部分组成: 停止发送DMA + 停止接收DMA;因此想要不互相影响,只需要把此函数停止接收DMA部分复制出来即可;HAL库还是特别方便的;

2023-06-29 16:46:26 2932 2

原创 STM32解决串口频繁接收串口死所问题

最近在使用STM32空闲中断接收数据的时候发现一旦发送端发送数据较频繁,串口就会出现死锁的情况,即使在接收到数据以后关闭空闲中断,解析完数据后立马打开中断,也会有这个情况。小白一枚,有问题希望大家多多指正。

2023-06-29 16:33:34 3188

原创 STM32L072 多路ADC DMA方式采集电压

最近在使用STM32L072采集ADC采集电压值时遇到一个问题,采集电压值不准且两路采集会有冲突导致两路采集值偏差都较大,最后经过查阅资料发现是因为ADC采集频率的问题,ADC采集频率最好小于8M,修改配置后ADC采集正常。

2023-06-23 23:35:29 625

原创 linuxC 自制copy功能 & 获取文件大小

只有在你了解了人生的真谛后,才能真正地生活。虽然人生苦忧参半,但依旧美妙,而且即使在悲剧中也藏着迷人之处。如果你只是活着,那就再努力点吧,试着活得精彩。通过以上运行可以看出 ./num01.out 属于第一个入参。通过指令查看文件大小,发现源文件与目标文件大小相同。此时打开目标文件,复制成功。内容如下,还是比较顺利的。Ubuntu运行如下。

2023-06-09 09:20:22 291

原创 自定义字节协议传输float数据类型

float类型数据的传输有很多种,例如将float放大为整形进行传输,例如float有两位小数,在传输的过程*100放大为整型进行发送,接收端在收到后/100还原,但这种方法仅仅适用于已知小数位数的操作,如果小数位数未知则不适用,所以通过字节方式直接传输更为方便。本文中用于Android上位机通过自定义字节协议向STM32下位机传输用户输入的不定长小数位的float数据。

2023-06-02 11:54:15 860

Android Studio开发MQTT调试助手(源码)

在Android开发中,与远程服务器进行通信是一个常见的需求。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)场景中。在阿里云物联网平台中,物联网设备与APP之间的交互是通过云产品消息转发实现,所以需要讲APP通过mqtt方式接入平台,具体内容参照博文。

2024-10-12

Android StudioMQTT调试助手安装包

在Android开发中,与远程服务器进行通信是一个常见的需求。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)场景中。在阿里云物联网平台中,物联网设备与APP之间的交互是通过云产品消息转发实现,所以需要讲APP通过mqtt方式接入平台,具体内容参照博文。

2024-10-12

华为云设备接入IOTDA安卓APP开发

AndroidStudio开发华为云设备接入IOTDA,该源码能够获取用户Token、获取设备影子消息、下发设备命令。实现了APP与硬件设备之间通过华为云的上传下达。详细内容可参考博文。

2024-10-08

华为云IOTDA调试助手.apk

采用Androidstudio开发实现应用侧token获取、设备影子消息获取、设备命令下发功能。

2024-10-07

STM32+有人4G模块接入阿里云平台

本次实验采用的4G模块为有人LET-7S1模块,利用模块的透传功能完成硬件设备与云端的通信详细内容见博客

2024-09-29

stm32+cjson库实现json格式创建与解析

单片机接入云端大部分都会用到json字符串的构建和解析,该资源是通过stm32f1系列单片机构建了json并完成解析,具体内容可参考博客文章。

2024-09-24

stm32f103rct6串口DMA空闲中断接收不定长数据

通过cubemx配置了rct6的5个串口,串口1-4使用空闲中断+dma方式接收不定长数据,串口5通过接收中断和空闲中断的方式接收数据,同时也配置了定时器,可以完成定时器任务。

2024-09-19

STM32升级例程,bootloader程序+APP程序

bootloader程序可以在开机3s内传输升级文件进行升级,升级结束后自动运行;运行APP是可以随时升级。

2024-09-19

stm32采集0-20mA电流

项目开发中有一些工业传感器输出信号为0-20mA或者4-20mA的电流信号,例如压力变送器,使用这类传感器时往往利用到单片机的ADC采集功能,通过欧姆定律将采集到的电压值和采样电阻的阻值进行计算,得出电流值。具体内容可参照https://blog.youkuaiyun.com/LJ_96/article/details/141138285,对两种电路进行了分析并且已经验证。 主控采用STM32G030F6P6,采集电路采用两种方法分别测试。

2024-08-12

自定义字节协议传输float数据类型

实现float类型转为IEEE754标准的4字节byte数组构建自定义协议,解析IEEE754协议的数据

2023-06-02

空空如也

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

TA关注的人

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