liming3267 发表于 2024-6-11 18:37:02

在做MODBUS RTU 从机的程序时遇到一个比较奇怪的问题。

在编写MODBUS RTU 从机的程序的时候遇到了一个很奇怪的问题。
下位机使用的485通过DMA和上位机MCGS做的MODBUS RTU通讯。

本来程序都调试正常了。如图

但是在主程序新定义了六个变量就会报通讯故障。
 
  添加的变量如下

其它程序没有动,就提添加了这六个变量。就会报通讯故障。
如何解决呢,有以下两个方法:
1.把定义的变量声明的关键从int 变成 u16(注:头文件定义了typedef unsigned  int      u16;)

2.少定义一个或几个变量,也能后使得通讯恢复正常。

请问有没有人遇到类似的情况呢?!!!


_奶咖君_ 发表于 2024-6-12 22:09:02

加了变量之后 内存没用超把0.0

神农鼎 发表于 2024-6-12 23:10:21


参考荣誉版主的 开源程序 来移植


4组串口UART使用DMA收发 @STC32G,易用,高效,稳定 !精品实战代码 - DMA: 支持4组串口,3组SPI,I2C,TFT-i8080/M6800,ADC 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

页: [1]
查看完整版本: 在做MODBUS RTU 从机的程序时遇到一个比较奇怪的问题。