https://blog.csdn.net/baidu_31437863/article/details/82178708

STM32(五) Modbus

https://blog.csdn.net/WHL_YSU/article/details/87864362

基于STM32实现 Modbus协议调试笔记 --利用485通信实现单个字符的接收与发送

http://www.stmcu.org.cn/module/forum/thread-599873-1-1.html

[分享] 标准的modbus通信协议模板(适合新手)

注:      本程序适合新手入门,第一个程序写了如何实现串口的收发多个字节程序
                                         第二个程序写了如何利用主程序循环来监控数据接收
                                         第三个程序写了如何利用定时器来监控数据是否发送和接收完毕
                                         第四个程序写了RS485如何通信通信
                                         第五个程序写了modbus协议。。。。。。。。。。
                                         通过上位机发送一串字节后并在显示屏上显示所发送的数据,大概就是这个功能
                                          芯片是STM32F103VET的,编译器是IAR6.1的。需要的就带走吧!
<ignore_js_op>

1.usart.zip

799.08 KB, 下载次数: 1500, 下载积分: ST金币 -1

<ignore_js_op>

2.usart主程序循环监控.zip

826.95 KB, 下载次数: 1220, 下载积分: ST金币 -1

<ignore_js_op>

3.usart定时器监控.zip

812.14 KB, 下载次数: 1135, 下载积分: ST金币 -1

<ignore_js_op>

4.RS485.zip

816.13 KB, 下载次数: 1567, 下载积分: ST金币 -1

对需要的朋友很有用 modbus在工业现场的底层通信 应用非常广泛. 传个资料 ,版权归网络所有
<ignore_js_op>

MODBUS协议中文版(高清版).pdf

这是班的原理图
<ignore_js_op>

5.modbus协议.zip

3.23 MB, 下载次数: 6040, 下载积分: ST金币 -1

<ignore_js_op>

LY-STM32.pdf

147.16 KB, 下载次数: 835, 下载积分: ST金币 -1

http://www.51hei.com/bbs/dpj-137780-1.html

Modbus 一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。modbus协议简单解析如下:
1、主机对从机写数据操作
如果单片机接收到一个报文那么就对报文进行解析执行相应的处理,如上面报文:
    01             06            00 01           00 17          98 04 
  从机地址        功能号          数据地址          数据         CRC校验

假如本机地址是 1 ,那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:
            HoldDataReg[1]  =  0x0017;
MODBUS主机就完成了一次对从机数据的写操作,实现了通讯。

2、主机对从机读数据操作
主机进行读HoldDataReg[1] 操作,则报文是:
    01             03            00 01           00 01          D5 CA 
从机地址        功能号          数据地址      读取数据个数       CRC校验
那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:返回信息给主机,返回的信息也是有格式的:
返回内容:  
    01         03            02             0017          F8 4A
  从机地址   功能号     数据字节个数    两个字节数据    CRC校验
MODBUS主机就完成了一次对从机数据的读操作,实现了通讯。

上传的程序是根据手把手教你51单片机的例程修改而来,能实现读/写操作(03,06码),成功通过modbus调试精灵测试,读写通讯正常!
由于刚接触modbus通讯协议,之前一直出现通讯超时的问题,找了网上很多资料,都不得其解,所以把程序拿出来和大家分享。希望和大家相互学习、共同进步!
<ignore_js_op>

所有资料51hei提供下载:
<ignore_js_op> 29. RS485通信实验.rar (273.59 KB, 下载次数: 864)

http://news.eeworld.com.cn/mcu/article_2017100934976.html

在STM32上移植FreeModbus RTU的一点经验总结

stm32——modbus例程网址收藏的更多相关文章

  1. Dart 语法中文在线学习网址收藏

    为了学习flutter UI框架,必须先学好dart语言,故收藏了有关 Dart 语法中文在线学习网址 http://dart.goodev.org/guides/language/language- ...

  2. KEIL5 使用STM32 官方例程

    1. 安装keil5,破解 网上很多安装包/教程,跳过 2.下载官方固件库 https://www.st.com/content/st_com/en.html 在这里找微处理器,STM32 stand ...

  3. yii 的网址收藏

    http://blog.csdn.net/yuhui_fish/article/details/7656929 YII框架多子域名同步登录问题 http://blog.csdn.net/yuhui_f ...

  4. 我的IT相关网址收藏

    it语言学习免费视频: 尚学堂:http://www.sxt.cn/ 慕课网:http://www.imooc.com/course/list 大学生自学网:http://v.dxsbb.com/ 尚 ...

  5. STM32的例程GPIO的汇编指令初探

    任务一:寻找main函数的汇编指令集 任务二:寻找main函数中的SystemClock_Config函数的汇编指令集 寻找main函数的汇编指令集 运行例程中GPIO工程时,总会加载startup_ ...

  6. STM32 modbus CRC16校验

    typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef int int32_t; const uint16_t ...

  7. CTF_工具网址收藏

    杂项 条形码在线扫描 :    https://online-barcode-reader.inliteresearch.com/ PS弄反色ctr+i    :  https://zhidao.ba ...

  8. JAVA学习网址收藏

    什么是JDK?http://baike.baidu.com/subview/25214/5047948.htm?fr=aladdin Java经典入门教程(环境说明) http://wenku.bai ...

  9. golang 常用网址收藏

    1:beego 模板语法指南:http://blog.go-china.org/03-beego-template 2:go 语言sublimetext2配置:http://www.kankanews ...

随机推荐

  1. Encoding.GetEncoding 编码列表

    代码页 名称 显示名称   37 IBM037 IBM EBCDIC(美国 - 加拿大)   437 IBM437 OEM 美国   500 IBM500 IBM EBCDIC(国际)   708 A ...

  2. javascript let

    es6支持通过let关键字声明属于单独块{}的变量,更好的管理变量作用屿 funtion foo() { var a=1; if (a>1) { let b=2; //只属于if模块 while ...

  3. 局部内部类的final问题

    局部内部类,如果希望访问所在方法的局部变量,那么这个局部变量就必须是final的(或者只赋值一次) 从Java8开始,只要局部变量事实不变那么final关键字可以省略 为什么需要保证变量为final, ...

  4. spring websocket 使用@SendToUser

    spring websocket 使用@SendToUser 原文链接:https://blog.csdn.net/yingxiake/article/details/51224569 之前我们利用@ ...

  5. Oracle的查询-多行查询

    多行函数[聚合函数],作用于多行,返回一个值 ) from emp;--查询总数量 select count(empno) from emp;--查询总数量 select count(*) from ...

  6. pymysql连接和操作Mysql数据库

    pymysql 一.概要 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库, 二.PyMySQL 安装 pip install pymysql 三.操作流程 创建c ...

  7. codeforces 1244C (思维 or 扩展欧几里得)

    (点击此处查看原题) 题意分析 已知 n , p , w, d ,求x , y, z的值 ,他们的关系为: x + y + z = n x * w + y * d = p 思维法 当 y < w ...

  8. ShellCode 最小化编译优化

    1.生成ShellCode [root@localhost ~]# msfvenom -a x86 --platform Windows \ > -p windows/meterpreter/r ...

  9. Python 装饰&生成&迭代器

    Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...

  10. sentinel与hystrix对比

    近期有同事再提要不要使用sentinel.所以我就对现在已经用hystrix.先看两者的线程模型.大部分对比项是sentinel开源工程对比的,本人做了一些修改以及增加了一些对比项和说明. 从线程模型 ...