嵌入式技术论坛
直播中

而无返还

8年用户 1236经验值
擅长:光电显示
私信 关注
[问答]

怎样去解决FreeModbus运行主机例程时出现定时器断言错误的问题


在Rt-thread studio中新建Pandora工程,然后设置好了Uart2以及FreeModbus的主机模式,开启mb_master_sample时就会出定时器断言问题;
查了了Uart2的端口配置,初步怀疑是
eMBMasterInit(MB_RTU, PORT_NUM, PORT_BAUDRATE, PORT_PARITY);
主机模式没有正确初始化,这里对应的Modbus RTU模式设置的是 115200 奇校验;而查CubeMX中的Uart2的配置是:
  huart2.Instance = USART2;
  huart2.Init.BaudRate = 115200;
  huart2.Init.WordLength = UART_WORDLENGTH_8B;
  huart2.Init.StopBits = UART_STOPBITS_1;
  huart2.Init.Parity = UART_PARITY_NONE;
  huart2.Init.Mode = UART_MODE_TX_RX;
  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
  huart2.Init.OneBitSampling =         
  UART_ONE_BIT_SAMPLE_DISABLE;
  huart2.AdvancedInit.AdvFeatureInit =
  UART_ADVFEATURE_NO_INIT;

eMBMasterInit(MB_RTU, PORT_NUM, PORT_BAUDRATE, PORT_PARITY);
中的PORT_PARITY改为 无奇偶校验后,重新运行Master实列程序,依旧报如下断言错误:
eMBMasterInit(MB_RTU, PORT_NUM, PORT_BAUDRATE, PORT_PARITY);
创建的工程配置如下:

然后多问一个问题:
为何当按照rt-thread = 4.0.3, BSP = 1.0.1版本创建工程时,会默认给我安装很多无法删除的软件包,如下如图所示,这些软件包和组件都是无法删除的:


回帖(6)

其实znvm

2022-4-29 14:47:13
Keil MDK5的搭建是正常的
举报

而无返还

2022-4-29 14:47:26
rt-thread studio照理应该也不会有问题,不知道为什么,卡了两天了 - -
举报

而无返还

2022-4-29 14:47:34
RT-Thread Studio,配合menuconfig,关闭不使用的组件,如果关闭不掉,可以看看组件的【宏】依赖。
RT-Thread ENV 工具: scons --target=eclipse更新下工程
举报

张虎豹

2022-4-29 14:47:50
Pandora 支持 4.0.1, 4.0.2 好像有问题
举报

而无返还

2022-4-29 14:48:31
是的,我也觉得怪怪的
举报

张亮

2022-4-29 14:48:43
没有配置使能引脚,在portserial_m.c中加入下面一段函数即可
#define MODBUS_MASTER_RT_CONTROL_PIN_INDEX  GET_PIN(A, 8)
#define RT_MODBUS_MASTER_USE_CONTROL_PIN
其中GET_PIN(A, 8)以你实际使用的Pin脚为准
举报

更多回帖

发帖
×
20
完善资料,
赚取积分