-
嵌入式设备Modbus通信协议源码
目前版本支持如下的功能码:
读输入寄存器 (0x04)
读保持寄存器 (0x03)
写单个寄存器 (0x06)
写多个寄存器 (0x10)
读/写多个寄存器 (0x17)
读取线圈状态 (0x01)
写单个线圈 (0x05)
写多个线圈 (0x0F)
读输入状态 (0x02)
报告从机标识 (0x11)
本实现基于最新的标准并且与标准完全兼容。接收和传输Modbus RTU/ASCII数据帧是通过一个由硬件提取层的调用来驱动状态机来实现的。这就使得该协议非常容易移植到其他的平台之上。当收到一个完整的数据帧后,该数据帧被传入Modbus应用层,数据帧的内容在该层得到解析。为例方便增加新的Modbus功能,在应用层通提供了Hooks。
请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
- 2022-11-09 00:25:04下载
- 积分:1
-
AR6kSDK.3.0 ath系列驱动
AR6kSDK.3.0 ath系列驱动 &
- 2023-07-14 11:45:04下载
- 积分:1
-
关于STM32的小车程序
应用背景这是一个简单的遥控车程序,它是一次比赛的时候做的,用于第一视角的对抗赛中。关键技术这是一个关于小车的程序,里面有许多STM32的文件配置,有PWM,中断,2.4G遥控的,串口,等等
- 2022-01-25 20:21:41下载
- 积分:1
-
读取按键数据
读取按键数据
- 2022-08-17 16:21:12下载
- 积分:1
-
103协议103协议源代码
应用背景void Init_IEC103_Buf(unsigned char ucPort)
{
STATUS status;
VOID * pointer;
unsigned short usStep1;
unsigned char * pTempBuf;
BufStruct * pTempBufList, * pTempBufList1;
status = NU_Allocate_Memory(&System_Memory,&pointer,sizeof(IECDefStruct),NU_NO_SUSPEND);
if(status != NU_SUCCESS)
while(1);
pIEC103_Struct[ucPort] = (IEC103DefStruct *)pointer;
status = NU_Allocate_Memory (&System_Memory, &pointer, 8*sizeof(BufStruct), NU_NO_SUSPEND);
if (status != NU_SUCCESS)
&nbs
- 2022-07-22 05:28:03下载
- 积分:1
-
STM32与ADXL345加速度检测
本设计采用stm32l作为主芯片,结合加速度传感器ADXL345,可以实时检测加速度。STM32L是一款低功耗的ARM7产品,使用stm32l可以节约功耗,它采用IIC驱动ADXL345芯片,ADXL345芯片是三轴加速度传感器,可以测得XYZ轴的加速度。
- 2022-04-23 09:01:05下载
- 积分:1
-
51单片机程序
密码锁,可应用于人机界面,开机启动程序.密码可在进主后自行随意改变.提高设备安全性.
- 2022-02-21 19:02:21下载
- 积分:1
-
C8051f310定时器延迟1s程序
C8051f定时器1中断精确延时1s的程序。C8051F通常除了有两个标准的8051中的计数器/ 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
- 2022-07-13 18:36:10下载
- 积分:1
-
MLX90614非接触式红外传感器 msp430代码
资源描述
MLX90614非接触式红外传感器 msp430代码
MLX90614是一款用于非接触式的红外温度传感器,集成
了红外探测热电堆芯片与信号处理专用集成芯片,全部封装在TO-39。
低噪声放大器、17位ADC和强大的DSP处理单元的全集成,使传感器实现了高精度,高分辨率的测量。
传感器的测量结果均出厂校准化,数据接口为数字式的PWM和SMBus(System Management Bus) 输出。
作为标准,PWM为10位,且配置为-20˚C至120 ˚C内,分辨率为0.14 ˚C的连续输出
- 2022-03-19 09:13:54下载
- 积分:1
-
C#加载驱动例子
C#加载驱动例子
实现了托管代码加载驱动,管理驱动,使用驱动的方法
驱动例子:
SysKey.sys
[DllImport("advapi32.dll", EntryPoint = "OpenSCManagerW", ExactSpelling = true, CharSet = CharSet.Unicode, SetLastError = true)]
public static extern IntPtr OpenSCManager(string machineName, string databaseName, uint dwAccess);
[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern IntPtr OpenService(IntPtr hSCManager, string lpServiceName, uint dwDesiredAccess);
[DllImport("advapi32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool CloseServiceHandle(IntPtr hSCObject
- 2022-02-04 10:03:20下载
- 积分:1