在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版本创建工程时,会默认给我安装很多无法删除的软件包,如下如图所示,这些软件包和组件都是无法删除的: