记录01-FreeModbus移植入stm32单片机,以及遇到的问题

第一步获取FreeModbus1.6

        直接从官网下载就能使用,里面有相应的Demo可以进行参考,链接如下:

FreeMODBUS Downloads - Embedded Expertshttps://www.embedded-experts.at/en/freemodbus-downloads/

        获取之后解压得到以下文件:

           这些文件的中主要就是用到demo和modbus这两个文件。

第二步:建立一个简单的工程模板,然后开始移植

        这里选用的是野火stm32f407的工程模板,选用不同的内核配置大体一样,但一些细节部分不同。

        将freemodbus-v1.6里面demo->BARE->port,将port整个文件夹直接复制进工程文件

        将freemodbus-v1.6里面的demo->modbus,将modbus这个歌文件夹直接复制进工程文件

        然后将这两个文件夹的c文件放入工程中

        

         包含所用到的头文件:

         tip:modbus中的ascii是可选项,在这里并不使用,所以不用添加相关的头文件以及c文件

第三步,编译,开始修改

        刚移植的文件,编译后,通常会有很多报错。 

 Error:”port.h“,No such file or directory

出错原因:第二步没有包含port.h所在的文件夹

解决方法:直接包含进去即可,在编译

再次编译后3个错误,5个警告

跳过警告先,直接查看错误:

 双击,可查看错误位置

        这涉及到内联函数的一些东西,具体原因自行百度,只可意会不可言传,修改方式,简单粗暴,把内联函数的inline去掉,去掉后如下图                     

         再次编译后,仍然发现有一个错误

        检查后发现原来是mbascii.h的头文件没有包含,解决方法和第一个错误一样 。

         一整体编译后发现错误直接飙升:解决了一个错误出现一堆错误,非常的经典

         具体原因应该是有些函数没有定义或者某些c文件没有引用导致的

        看见一堆eMBASCII什么初始化,接收,发送&#x

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,我可以回答这个问题。首先,您需要下载FreeRTOS和freemodbus的源代码,然后根据STM32F103的硬件特性进行适当的修改和配置。最后,将修改后的代码编译并烧录到STM32F103上即可。具体的步骤可以参考相关的开发文档和教程。 ### 回答2: 要将FreeRTOS freemodbus移植STM32F103上,首先需要了解STM32F103的硬件特性和FreeRTOS、freemodbus的工作原理。然后按照以下步骤进行移植: 1. 首先,将STM32F103的开发环境搭建好,包括安装相关的开发工具和驱动程序。 2. 从FreeRTOS官方网站下载最新版本的FreeRTOS源代码,并解压缩到工程目录下。 3. 从freemodbus官方网站下载最新版本的freemodbus源代码,并解压缩到工程目录下。 4. 打开STM32F103的开发环境,创建一个新的工程。 5. 将FreeRTOS的源代码添加到工程中,包括核心代码、任务调度器、内存管理等。 6. 根据STM32F103的硬件特性,配置相关的寄存器和引脚,确保与FreeRTOS的功能相匹配。 7. 将freemodbus的源代码添加到工程中,包括主站、从站和串口通信等模块。 8. 通过配置文件或修改源代码,设置freemodbus的参数,如波特率、数据位、停止位等。 9. 在工程中创建一个新的任务,用于处理freemodbus的通信逻辑。 10. 编译并下载程序到STM32F103。 11. 运行程序,通过串口或其他方式检测和验证freemodbus的通信功能。 12. 根据实际需求,对移植后的FreeRTOS freemodbus进行优化和调试。 以上是将FreeRTOS freemodbus移植STM32F103的大致步骤,具体的实施过程需要根据具体的环境和需求进行调整。在移植过程中可能会遇到一些问题和挑战,需要仔细阅读相关文档和参考资料,并进行适当的学习和研究。 ### 回答3: 要将FreeRTOS freemodbus移植STM32F103上,需要按照以下步骤进行操作: 1. 首先,需要确保你熟悉STM32F103的操作和编程。了解该微控制器的寄存器和外设配置,以及相应的开发工具和环境设置。熟悉使用STM32CubeMX来进行初始化和配置。 2. 下载FreeRTOS和freemodbus库的最新版本。可以从官方网站下载并解压这两个库。 3. 在STM32CubeMX中,创建一个新的项目,并选择适合你的STM32F103型号的芯片。 4. 在配置时,确保使能FreeRTOS和freemodbus库。这些库应该是预编译好的二进制文件,所以不需要进行额外的编译工作。 5. 在配置文件中,设置FreeRTOS的任务和堆栈大小,根据你的需求进行适当的调整。还要根据freemodbus库的要求,配置相应的寄存器和外设。 6. 在生成代码后,你将得到一个基本的FreeRTOS和freemodbus库的项目框架。在这个框架中,你可以添加自定义任务和功能,以满足你的应用需求。例如,你可以添加具体的modbus从站和主站的实现。 7. 通过FreeRTOS的任务和队列机制,你可以实现多任务并发和通信。在这个框架中,你可以创建多个modbus任务,以处理不同的modbus请求。 8. 配置UART或其他串行通信外设来与modbus通信。这取决于你的具体需求和硬件配置。 9. 最后,编译和下载固件到STM32F103上,然后运行你的应用程序。确保程序正常工作并能够实现预期的功能。 总结起来,移植FreeRTOS freemodbus库到STM32F103的过程需要熟悉STM32F103的编程和操作,配置合适的开发环境和工具,同时充分理解和使用FreeRTOS和freemodbus库的功能和特性。通过合理的任务分配和通信机制,你可以实现一个高效可靠的modbus通信应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值