当前位置: 首页 > news >正文

stm32-modbus-rs485程序移植过程

 背景 

【modbus学习笔记】Modbus协议解析_modus协议中0.001如何解析-CSDN博客

 【Modbus学习笔记】stm32实现Modbus(从机)并移植_stm32 modbus数据处理-CSDN博客

继上篇成功移植modbus从机例程之后,我要尝试移植主机的程序。经提醒,可用野火的modbus代码。

参考教程:

Modbus参考例程 — 野火产品资料下载中心 文档https://doc.embedfire.com/products/link/zh/latest/package/modbus.html

支持板子:

例程介绍:

http:// https://doc.embedfire.com/module/module_tutorial/zh/latest/Module_Manual/extend_class/modbus.html#

 其他教程(博主暂时没看):

up主X西鱼X的所有视频,如:

【FreeRTOS+freemodbus(无BGM)】 https://www.bilibili.com/video/BV1LRUSYFET3/?share_source=copy_web&vd_source=0d3e505cd639f5fd61042ee6c87b2fd6

 

移植过程

配置

【例程配置】

引脚分配
    PA2     ------> USART2_TX
    PA3     ------> USART2_RX

   用定时器4

【我的工程】

引脚分配
    PA2     ------> USART2_TX
    PA3     ------> USART2_RX 

    PA1     ------> CON(485方向控制引脚)

   用定时器6

步骤

1. 在cubemx中配置通信引脚,定时器,打开中断。

2. 将例程中的文件加入自己的,要对照工程加。

3. 运行,出现报错后修改,以下是我运行过程中修改的地方,按记忆记录,不一定完全。

改一:

mx生成的MX_USART2_UART_Init()里面没有未知参数,要改。

改二:

USART2在cubemx配置的是同步,生成代码后,去这个配置文件中把#define HAL_USART_MODULE_ENABLED  的注释解开,用到了这个库的函数

改三:

因为void USART2_IRQHandler(void)在stm32f1xx_it和portserial_m都有,我选择把stm32f1xx_it里面的注释掉。

 改四:

我的定时器和例程用的不同,他用的4,我用的6,并且mx自动帮我配置了,所以要把porttimer_m里面的void TIM4_IRQHandler(void)注释掉

 改五:

在mx生成的usart.h中添加引脚定义,另外我用到了485,需要打开485注释,并且修改引脚,注意引脚方向。

改六:

 main.c文件中也要记得改。

运行结果

将程序下载到芯片后,打开modbus slave软件连接。

连接后,现象如图。

点击Display->Communication,可以看到通讯内容。

http://www.lryc.cn/news/585226.html

相关文章:

  • 微算法科技基于格密码的量子加密技术,融入LSQb算法的信息隐藏与传输过程中,实现抗量子攻击策略强化
  • 【AI大模型】RAG系统组件:向量数据库(ChromaDB)
  • 新作品:吃啥好呢 - 个性化美食推荐
  • QT跨平台应用程序开发框架(4)—— 常用控件QWidget
  • 【机器学习】保序回归平滑校准算法
  • AI在医疗影像诊断中的应用前景与挑战
  • RabbitMQ 之消息积压
  • Linux进程间通信--命名管道
  • Leaflet面试题及答案(1-20)
  • [面试] 手写题-选择排序
  • 【Springboot】Bean解释
  • 为什么必须掌握Java异常处理机制?——从代码健壮性到面试必考题全解析
  • 结构化数据、非结构化数据区别
  • Web安全 - 基于 SM2/SM4 的前后端国产加解密方案详解
  • 远程登录docker执行shell报错input is not a terminal问题
  • 如何将公式图片转换为公式格式到wps/word里面
  • 红色脉络:一部PLMN在中国的演进史诗 (1G-6G)》第1篇 | 开篇:从蜂窝到星链,PLMN——连接世界的无形之网
  • 线性回归原理推导与应用(十):逻辑回归多分类实战
  • LabVIEW前面板设计--控件/文字遮挡
  • Microsoft Word 中 .doc 和 .docx 的区别
  • 利用BeautifulSoup解析大众点评区域店铺网页
  • LabVIEW远程数电实验平台
  • VIT(视觉Transformer)
  • 【爬虫】- 爬虫原理及其入门
  • 提示工程:突破Transformer极限的计算科学
  • 进程状态 + 进程优先级切换调度-进程概念(5)
  • 需求升级,创新破局!苏州金龙赋能旅游客运新生态
  • 20250711荣品RD-RK3588开发板在Android13下的开机自启动的配置步骤
  • 宝塔命令Composer 更改数据源不生效
  • 动态组件和插槽