章鱼哥嵌入式开发
码龄13年
关注
提问 私信
  • 博客:136,841
    社区:27
    动态:2,399
    139,267
    总访问量
  • 87
    原创
  • 199,511
    排名
  • 6,359
    粉丝
  • 170
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江西省
  • 加入CSDN时间: 2012-05-07
博客简介:

shufawangzhang的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,550
    当月
    21
个人成就
  • 获得306次点赞
  • 内容获得18次评论
  • 获得648次收藏
  • 代码片获得1,375次分享
创作历程
  • 14篇
    2024年
  • 49篇
    2023年
  • 24篇
    2022年
成就勋章
TA的专栏
  • 嵌入式硬件设计
    付费
  • STM32 AT32F403A IAP在线升级
    付费
  • BACnet产品开发进阶
    付费
    16篇
  • STM32单片机开发产品进阶
    8篇
  • 开发语言
    6篇
  • 嵌入式linux实战进阶
    8篇
  • BACnet对象linux平台下的使用
    4篇
  • 项目开发常用通信协议
    3篇
  • 嵌入式系统文件传输和固件升级
    2篇
  • AT32F403A国产单片机开发讲解
    7篇
兴趣领域 设置
  • 嵌入式
    单片机stm32物联网嵌入式硬件iot
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【STM32F103微控制器上进行CAN总线回环测试】

CAN总线(Controller Area Network)是一种常用的串行通信协议,最初由德国公司Bosch开发,用于汽车电子系统中的通信和控制。它在汽车行业得到了广泛的应用,后来也在其他领域如工业控制、航空航天和医疗设备等方面得到了采用。CAN总线的设计目标是满足汽车电子系统中的高可靠性和实时性要求。它采用差分信号传输和多主机的通信结构,具有抗干扰、抗噪声和高带宽利用率的特点。CAN总线支持多个节点之间的数据交换,允许节点实时地发送和接收消息。它还具有消息优先级机制,可以保证关键数据的及时传输。
原创
发布博客 2024.03.16 ·
1956 阅读 ·
21 点赞 ·
0 评论 ·
35 收藏

STM32按键状态机短按、长按和连击操作

按键的不同状态对应于不同的按键操作,通过状态转换和计数器的判断,可以准确地识别和处理短按、长按和连击操作。在空闲状态(BUTTON_STATE_IDLE)下,检测到按键按下后,将按钮按下状态设置为1,重置释放状态和计数器,并将状态转换为按下状态(BUTTON_STATE_PRESSED)。当使用状态机来处理按键操作时,我们将按键的不同状态抽象为状态机中的各个状态,并根据按键的状态转换进行相应的处理。在函数的最后,我们检查定时器溢出标志,并根据当前的按键状态和按键的按下和释放状态进行相应的处理。
原创
发布博客 2024.03.16 ·
1725 阅读 ·
22 点赞 ·
0 评论 ·
20 收藏

【BACnet ip网络参数设置和读取】

3这个结构体定义了一个名为bacnet_ipv4_port的数据结构,用于表示BACnet IP设备的网络配置信息。下面是对结构体成员的解释:IP_Address:一个长度为4的无符号整数数组,表示设备的IPv4地址。每个元素表示一个字节,共计4个字节。例如,IP地址为192.168.0.1,则数组的值为{192, 168, 0, 1}。IP_Subnet_Prefix:一个长度为4的无符号整数数组,表示设备的子网掩码。用于确定设备所在的子网范围。与IP_Address类似,每个元素表示一个字节。
原创
发布博客 2024.03.15 ·
1723 阅读 ·
30 点赞 ·
0 评论 ·
19 收藏

BACnet device对象详解以及协议栈相关代码

BACnet(Building Automation and Control Networks)是一种用于建筑自动化和控制系统的通信协议。BACnet设备对象是BACnet协议中的一个重要概念,用于表示建筑自动化系统中的设备。BACnet设备对象(Device Object)是BACnet网络中的主要实体,代表了一个物理设备或网络上的虚拟设备。每个BACnet设备对象都有一个唯一的标识符,称为设备实例号(Device Instance)。
原创
发布博客 2024.03.13 ·
1749 阅读 ·
47 点赞 ·
1 评论 ·
29 收藏

单片机c语言编程规范

代码中的initialize函数用于初始化单片机的硬件配置,包括设置LED引脚为输出和启用按钮引脚的上拉电阻。main函数是程序的入口,它在一个无限循环中检测按钮是否被按下,如果按钮被按下,则调用toggleLED函数切换LED的状态,并通过延迟函数__delay_cycles延迟一段时间。请注意,这只是一个简单的范例,实际的代码规范可能会根据项目的要求和团队的约定而有所不同。使用一致的缩进风格,例如使用制表符或空格进行缩进,以提高代码的可读性。使用有意义的变量、函数和宏的名称,避免使用缩写和简写。
原创
发布博客 2024.03.12 ·
610 阅读 ·
10 点赞 ·
0 评论 ·
4 收藏

【ARM linux mqtt协议连接服务器】

如果您需要获取MQTTClient库的源代码或更详细的API函数说明,请参考MQTTClient库的官方网站或开发者社区。此示例代码演示了一个简单的发布者(Publisher)应用程序,它连接到本地的MQTT服务器,等待用户输入要发布的消息,并将消息发布到指定的话题。在给出的代码中,包含了MQTTClient库的头文件MQTTClient.h,并且使用了该库提供的函数来创建、连接和操作MQTT客户端。MQTTClient库的具体实现代码通常包含在一个或多个源文件中,并且通常以静态库或动态库的形式提供。
原创
发布博客 2024.03.12 ·
480 阅读 ·
2 点赞 ·
2 评论 ·
5 收藏

【基于arm linux c语言编程MODBUS rs485 RTU模式】

创建modbus_t结构体对象并使用modbus_new_rtu()函数初始化,指定串口设备文件和其他通信参数,例如波特率和从机地址。读取Modbus数据:使用modbus_read_registers()等函数来读取Modbus设备的数据。关闭Modbus连接和串口设备:使用modbus_close()函数关闭Modbus连接,使用close()函数关闭串口设备。根据Modbus协议的规定,解析数据的格式和含义。建立Modbus连接:使用modbus_connect()函数连接到Modbus设备。
原创
发布博客 2024.03.11 ·
1112 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

cJSON C语言库解析和生成JSON数据

cJSON是一个轻量级的C语言库,用于解析和生成JSON数据。它提供了简洁而高效的API,使得在C语言中处理JSON数据变得简单和方便。以下是一些cJSON库的主要特点和用法:解析JSON数据:使用cJSON_Parse函数可以将JSON字符串解析为cJSON对象。该函数会返回一个指向根节点的指针。如果解析失败,返回NULL。生成JSON数据:使用cJSON_CreateObject和cJSON_CreateArray等函数可以创建cJSON对象。
原创
发布博客 2024.03.11 ·
1506 阅读 ·
16 点赞 ·
0 评论 ·
9 收藏

交流24v供电和直流24v供电的优势和劣势以及设计成本的差异

在一个建筑物的自动化控制系统中,存在多个需要供电的设备,如传感器、执行器、控制器等。如果使用交流24V供电,可以利用建筑物内的交流电源系统,通过电源线路和变压器进行电压转换和供电。这样可以方便地从电网中获取电能,并在建筑物范围内保持电压稳定性。但是,由于一些设备需要直流供电,需要添加额外的电源转换器来将交流电转换为直流电。
原创
发布博客 2024.03.10 ·
2002 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

蓝牙和wifi各有什么优劣势

大规模连接:Wi-Fi网络可以支持多个设备同时连接,适用于大规模设备之间的通信,如家庭、办公室等场景。较高的传输速率:Wi-Fi通信速率较高,适用于大规模数据传输和高速传输,如视频流、大文件传输等。较高的功耗:Wi-Fi通信相对于蓝牙通信来说功耗较高,适用于功耗要求不那么严格的设备。远距离通信:Wi-Fi通信距离较蓝牙更远,适用于在较大范围内进行设备间的无线通信。低功耗:蓝牙通信通常使用较低的功率,适用于低功耗设备,如耳机、智能手表等。连接限制:蓝牙通信通常限制连接的设备数量,不适合大规模设备之间的通信。
原创
发布博客 2024.03.10 ·
1726 阅读 ·
5 点赞 ·
0 评论 ·
12 收藏

bacnet cov机制详细介绍

BACnet(Building Automation and Control Networks)的COV(Change of Value)机制是一种用于监测和传输对象的变化信息的机制。COV机制允许BACnet设备在对象的值发生变化时主动发送通知,以便其他设备能够实时获取最新的数据。COV机制涉及以下几个重要的对象:COV源(COV Source):COV源是一个BACnet对象,它被监控以检测其值的变化。当COV源的值发生变化时,它将触发COV通知。
原创
发布博客 2024.03.10 ·
1028 阅读 ·
29 点赞 ·
0 评论 ·
12 收藏

【STM32F103 BACnet MSTP通信RS485驱动代码】

在实际项目应用中,如果想利用低成本的mcu来实现BACnet IO模块,可以采用STM32 RS485队列FIFO实现
原创
发布博客 2024.01.10 ·
931 阅读 ·
9 点赞 ·
1 评论 ·
8 收藏

STM32 FOC算法调节电机

FOC(Field-Oriented Control,磁场定向控制)是一种先进的电机控制算法,可以实现高效、精确的电机控制
原创
发布博客 2024.01.06 ·
916 阅读 ·
12 点赞 ·
0 评论 ·
8 收藏

STM32电机库电机调速程序,带按键调速和软件表盘实时显示,调节速度可达10w转以上

发布资源 2024.01.06 ·
rar

RN8209 RN8302 spi驱动和校表程序STM32

RN8209是一款单相电能表专用的集成电路芯片。它是基于CMOS工艺的智能电能计量专用芯片,具有高精度、低功耗和强抗干扰能力等特点。RN8209集成了电流、电压、功率、功率因数、频率等计量功能,支持RS485通信接口和SPI接口,可以与微处理器或微控制器进行通信,实现电能计量和数据传输。RN8209芯片具有以下主要特性:电能计量功能:支持电流、电压、功率、功率因数、频率等计量功能,可高精度地测量电能数据。通信接口:支持RS485通信接口和SPI接口,可方便地与上位机或其他设备进行数据通信和控制。
原创
发布博客 2024.01.06 ·
2135 阅读 ·
16 点赞 ·
0 评论 ·
24 收藏

BACnet常用的开发工具,包括点位扫描工具,主站模拟工具以及抓包分析工具

发布资源 2024.01.06 ·
rar

stm32f103RE CAN总线收发例程以及CAN总线协议完整资料

发布资源 2024.01.06 ·
rar

常用的串口和网络调试工具

发布资源 2024.01.06 ·
rar

STM32f103 wifi ESP8266 云平台控制例程,带按键控制,有操作说明文档

发布资源 2024.01.06 ·
zip

stm32f103re modbus主站和从站例程

发布资源 2024.01.06 ·
rar
加载更多