- 博客(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-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
原创 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
原创 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与华为云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
原创 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调试助手(源码)
2024-10-12
Android StudioMQTT调试助手安装包
2024-10-12
华为云设备接入IOTDA安卓APP开发
2024-10-08
stm32+cjson库实现json格式创建与解析
2024-09-24
stm32f103rct6串口DMA空闲中断接收不定长数据
2024-09-19
stm32采集0-20mA电流
2024-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅