diff --git a/.gitignore b/.gitignore index a9c3110..51b3184 100644 --- a/.gitignore +++ b/.gitignore @@ -72,4 +72,9 @@ vdso.lds __pychache__ _rt_thread ~* -si4 \ No newline at end of file +si4 +.picasa.ini +DebugConfig +Objects +*.uvguix.* +*.uvoptx diff --git a/apps/chrg/.config b/apps/chrg/.config index 4bdd53c..cda33ed 100644 --- a/apps/chrg/.config +++ b/apps/chrg/.config @@ -1497,6 +1497,16 @@ CONFIG_BSP_USING_UART1=y CONFIG_BSP_USING_UART2=y # CONFIG_BSP_UART2_RX_USING_DMA is not set # CONFIG_BSP_UART2_TX_USING_DMA is not set +CONFIG_BSP_USING_UART3=y +# CONFIG_BSP_UART3_RX_USING_DMA is not set +# CONFIG_BSP_UART3_TX_USING_DMA is not set +CONFIG_BSP_USING_UART4=y +# CONFIG_BSP_UART4_RX_USING_DMA is not set +# CONFIG_BSP_UART4_TX_USING_DMA is not set +# CONFIG_BSP_USING_UART5 is not set +CONFIG_BSP_USING_UART6=y +# CONFIG_BSP_UART6_RX_USING_DMA is not set +# CONFIG_BSP_UART6_TX_USING_DMA is not set # CONFIG_BSP_USING_RNG is not set # CONFIG_BSP_USING_UDID is not set # end of On-chip Peripheral Drivers diff --git a/apps/chrg/applications/usart2.c b/apps/chrg/applications/usart2.c new file mode 100644 index 0000000..0eaf993 --- /dev/null +++ b/apps/chrg/applications/usart2.c @@ -0,0 +1,49 @@ +#include +#include + +static rt_device_t serial_usart2; + +rt_err_t usart2_rx_irq(rt_device_t dev, rt_size_t size) +{ + rt_kprintf("rx_irq\r\n"); + + return RT_EOK; +} + +rt_err_t usart2_open(void) +{ + rt_err_t ret; + + serial_usart2 = rt_device_find("uart2"); + if (RT_NULL == serial_usart2) { + rt_kprintf("can't find usart2.\r\n"); + return RT_ERROR; + } + + ret = rt_device_open(serial_usart2, RT_DEVICE_OFLAG_RDWR|RT_DEVICE_FLAG_INT_RX); + if (RT_EOK != ret) { + rt_kprintf("open usart2 failed.\r\n"); + return RT_ERROR; + } + + struct serial_configure uart2_set_parg={ \ + BAUD_RATE_115200, /* 115200 bits/s */ \ + DATA_BITS_8, /* 8 databits */ \ + STOP_BITS_1, /* 1 stopbit */ \ + PARITY_NONE, /* No parity */ \ + BIT_ORDER_LSB, /* LSB first sent */ \ + NRZ_NORMAL, /* Normal mode */ \ + RT_SERIAL_RB_BUFSZ, /* Buffer size */ \ + 0 \ + }; + + rt_device_control(serial_usart2, RT_DEVICE_CTRL_CONFIG, &uart2_set_parg); + + rt_device_set_rx_indicate(serial_usart2, usart2_rx_irq); + + return RT_EOK; +} + +INIT_APP_EXPORT(usart2_open); + + diff --git a/apps/chrg/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c b/apps/chrg/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c index e1b2d70..1c68c34 100644 --- a/apps/chrg/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c +++ b/apps/chrg/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c @@ -1,81 +1,8 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * File Name : stm32f4xx_hal_msp.c - * Description : This file provides code for the MSP Initialization - * and de-Initialization codes. - ****************************************************************************** - ** This notice applies to any and all portions of this file - * that are not between comment pairs USER CODE BEGIN and - * USER CODE END. Other portions of this file, whether - * inserted by the user or by software development tools - * are owned by their respective copyright owners. - * - * COPYRIGHT(c) 2018 STMicroelectronics - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -/* Includes ------------------------------------------------------------------*/ #include "main.h" -/* USER CODE BEGIN Includes */ + #include -/* USER CODE END Includes */ -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN TD */ - -/* USER CODE END TD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN Define */ - -/* USER CODE END Define */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN Macro */ - -/* USER CODE END Macro */ - -/* Private variables ---------------------------------------------------------*/ -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* External functions --------------------------------------------------------*/ -/* USER CODE BEGIN ExternalFunctions */ - -/* USER CODE END ExternalFunctions */ - -/* USER CODE BEGIN 0 */ /* USER CODE END 0 */ /** @@ -108,9 +35,6 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitTypeDef GPIO_InitStruct = {0}; if(huart->Instance==USART1) { - /* USER CODE BEGIN USART1_MspInit 0 */ - - /* USER CODE END USART1_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_USART1_CLK_ENABLE(); @@ -125,14 +49,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /* USER CODE BEGIN USART1_MspInit 1 */ - - /* USER CODE END USART1_MspInit 1 */ } else if(huart->Instance==USART2) { - /* USER CODE BEGIN USART2_MspInit 0 */ - - /* USER CODE END USART2_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_USART2_CLK_ENABLE(); @@ -147,10 +64,52 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART2; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + } else if(huart->Instance==USART3) { + /* Peripheral clock enable */ + __HAL_RCC_USART3_CLK_ENABLE(); - /* USER CODE BEGIN USART2_MspInit 1 */ + __HAL_RCC_GPIOB_CLK_ENABLE(); + /**USART3 GPIO Configuration + PB10 ------> USART3_TX + PB11 ------> USART3_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF7_USART3; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + } else if(huart->Instance==UART4) { + /* Peripheral clock enable */ + __HAL_RCC_UART4_CLK_ENABLE(); + + __HAL_RCC_GPIOC_CLK_ENABLE(); + /**UART2 GPIO Configuration + PC10 ------> UART4_TX + PC11 ------> UART4_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF8_UART4; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + } else if(huart->Instance==USART6) { + /* Peripheral clock enable */ + __HAL_RCC_USART6_CLK_ENABLE(); + + __HAL_RCC_GPIOC_CLK_ENABLE(); + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF8_USART6; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - /* USER CODE END USART2_MspInit 1 */ } } @@ -166,9 +125,6 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) { if(huart->Instance==USART1) { - /* USER CODE BEGIN USART1_MspDeInit 0 */ - - /* USER CODE END USART1_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_USART1_CLK_DISABLE(); @@ -177,14 +133,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) PA3 ------> USART1_RX */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); - - /* USER CODE BEGIN USART1_MspDeInit 1 */ - - /* USER CODE END USART1_MspDeInit 1 */ } else if(huart->Instance==USART2) { - /* USER CODE BEGIN USART2_MspDeInit 0 */ - - /* USER CODE END USART2_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_USART2_CLK_DISABLE(); @@ -193,10 +142,34 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) PA3 ------> USART2_RX */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); + } else if(huart->Instance==USART3) { + /* Peripheral clock disable */ + __HAL_RCC_USART3_CLK_DISABLE(); - /* USER CODE BEGIN USART2_MspDeInit 1 */ + /**USART3 GPIO Configuration + PB10 ------> USART3_TX + PB11 ------> USART3_RX + */ + HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11); + } else if(huart->Instance==UART4) { + /* Peripheral clock disable */ + __HAL_RCC_UART4_CLK_DISABLE(); + + /**UART4 GPIO Configuration + PC10 ------> UART4_TX + PC11 ------> UART4_RX + */ + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11); + } else if(huart->Instance==USART6) { + /* Peripheral clock disable */ + __HAL_RCC_USART6_CLK_DISABLE(); + + /**USART6 GPIO Configuration + PC6 ------> USART6_TX + PC7 ------> USART6_RX + */ + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_6|GPIO_PIN_7); - /* USER CODE END USART2_MspDeInit 1 */ } } diff --git a/apps/chrg/board/Kconfig b/apps/chrg/board/Kconfig index 86bd9ca..c190ab3 100644 --- a/apps/chrg/board/Kconfig +++ b/apps/chrg/board/Kconfig @@ -52,7 +52,7 @@ menu "On-chip Peripheral Drivers" config BSP_UART1_DMA_PING_BUFSIZE int "Set UART1 RX DMA ping-pong buffer size" range 32 65535 - depends on RT_USING_SERIAL_V2 && BSP_UART1_RX_USING_DMA + depends on BSP_UART4_RX_USING_DMA && RT_USING_SERIAL_V2 default 32 config BSP_USING_UART2 @@ -86,8 +86,145 @@ menu "On-chip Peripheral Drivers" config BSP_UART2_DMA_PING_BUFSIZE int "Set UART2 RX DMA ping-pong buffer size" range 32 65535 - depends on RT_USING_SERIAL_V2 && BSP_UART2_RX_USING_DMA + depends on BSP_UART4_RX_USING_DMA && RT_USING_SERIAL_V2 default 32 + + config BSP_USING_UART3 + bool "Enable UART3" + default y + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART3_TX_USING_DMA + bool "Enable UART3 TX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART3_RX_BUFSIZE + int "Set UART3 RX buffer size" + range 64 65535 + depends on BSP_USING_UART3 && RT_USING_SERIAL_V2 + default 64 + + config BSP_UART3_TX_BUFSIZE + int "Set UART3 TX buffer size" + range 0 65535 + depends on BSP_USING_UART3 && RT_USING_SERIAL_V2 + default 0 + + config BSP_UART3_DMA_PING_BUFSIZE + int "Set UART3 RX DMA ping-pong buffer size" + range 32 65535 + depends on BSP_UART4_RX_USING_DMA && RT_USING_SERIAL_V2 + default 32 + + config BSP_USING_UART4 + bool "Enable UART4" + default y + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART4_TX_USING_DMA + bool "Enable UART4 TX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART4_RX_BUFSIZE + int "Set UART4 RX buffer size" + range 64 65535 + depends on BSP_USING_UART4 && RT_USING_SERIAL_V2 + default 64 + + config BSP_UART4_TX_BUFSIZE + int "Set UART4 TX buffer size" + range 0 65535 + depends on BSP_USING_UART4 && RT_USING_SERIAL_V2 + default 0 + + config BSP_UART4_DMA_PING_BUFSIZE + int "Set UART4 RX DMA ping-pong buffer size" + range 32 65535 + depends on BSP_UART4_RX_USING_DMA && RT_USING_SERIAL_V2 + default 32 + + config BSP_USING_UART5 + bool "Enable UART5" + default y + + config BSP_UART5_RX_USING_DMA + bool "Enable UART5 RX DMA" + depends on BSP_USING_UART5 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART5_TX_USING_DMA + bool "Enable UART5 TX DMA" + depends on BSP_USING_UART5 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART5_RX_BUFSIZE + int "Set UART5 RX buffer size" + range 64 65535 + depends on BSP_USING_UART5 && RT_USING_SERIAL_V2 + default 64 + + config BSP_UART5_TX_BUFSIZE + int "Set UART5 TX buffer size" + range 0 65535 + depends on BSP_USING_UART5 && RT_USING_SERIAL_V2 + default 0 + + config BSP_UART5_DMA_PING_BUFSIZE + int "Set UART5 RX DMA ping-pong buffer size" + range 32 65535 + depends on BSP_UART5_RX_USING_DMA && RT_USING_SERIAL_V2 + default 32 + + config BSP_USING_UART6 + bool "Enable UART6" + default y + + config BSP_UART6_RX_USING_DMA + bool "Enable UART6 RX DMA" + depends on BSP_USING_UART6 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART6_TX_USING_DMA + bool "Enable UART6 TX DMA" + depends on BSP_USING_UART6 + select RT_SERIAL_USING_DMA + default n + + config BSP_UART6_RX_BUFSIZE + int "Set UART6 RX buffer size" + range 64 65535 + depends on BSP_USING_UART6 && RT_USING_SERIAL_V2 + default 64 + + config BSP_UART6_TX_BUFSIZE + int "Set UART6 TX buffer size" + range 0 65535 + depends on BSP_USING_UART6 && RT_USING_SERIAL_V2 + default 0 + + config BSP_UART6_DMA_PING_BUFSIZE + int "Set UART6 RX DMA ping-pong buffer size" + range 32 65535 + depends on BSP_UART6_RX_USING_DMA && RT_USING_SERIAL_V2 + default 32 + endif source "$(RTT_DIR)/bsp/stm32/libraries/HAL_Drivers/drivers/Kconfig" diff --git a/apps/chrg/board/board.c b/apps/chrg/board/board.c index 306fc43..b7d9010 100644 --- a/apps/chrg/board/board.c +++ b/apps/chrg/board/board.c @@ -1,12 +1,3 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2018-11-06 SummerGift first version - */ #include #include diff --git a/apps/chrg/board/board.h b/apps/chrg/board/board.h index 6ef645f..58f3c06 100644 --- a/apps/chrg/board/board.h +++ b/apps/chrg/board/board.h @@ -1,12 +1,3 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2018-11-5 SummerGift first version - */ #ifndef __BOARD_H__ #define __BOARD_H__ diff --git a/apps/chrg/board/linker_scripts/link.icf b/apps/chrg/board/linker_scripts/link.icf index 269874c..03968b9 100644 --- a/apps/chrg/board/linker_scripts/link.icf +++ b/apps/chrg/board/linker_scripts/link.icf @@ -2,10 +2,10 @@ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ /*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 0x08000000; +define symbol __ICFEDIT_intvec_start__ = 0x08010000; /*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; -define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_ROM_start__ = 0x08010000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; define symbol __ICFEDIT_region_RAM1_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM1_end__ = 0x2001FFFF; define symbol __ICFEDIT_region_RAM2_start__ = 0x10000000; diff --git a/apps/chrg/board/linker_scripts/link.lds b/apps/chrg/board/linker_scripts/link.lds index 3c53046..201271d 100644 --- a/apps/chrg/board/linker_scripts/link.lds +++ b/apps/chrg/board/linker_scripts/link.lds @@ -7,7 +7,7 @@ /* Program Entry, set to mark it as "used" and avoid gc */ MEMORY { - CODE (rx) : ORIGIN = 0x08000000, LENGTH = 1024k /* 1024KB flash */ + CODE (rx) : ORIGIN = 0x08010000, LENGTH = 256k /* 256KB flash */ RAM1 (rw) : ORIGIN = 0x20000000, LENGTH = 128k /* 128K sram */ RAM2 (rw) : ORIGIN = 0x10000000, LENGTH = 64k /* 64K sram */ } diff --git a/apps/chrg/board/linker_scripts/link.sct b/apps/chrg/board/linker_scripts/link.sct new file mode 100644 index 0000000..a0309ab --- /dev/null +++ b/apps/chrg/board/linker_scripts/link.sct @@ -0,0 +1,15 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08010000 0x00040000 { ; load region size_region + ER_IROM1 0x08010000 0x00040000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + } + RW_IRAM1 0x20000000 0x00020000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/apps/chrg/project.uvprojx b/apps/chrg/project.uvprojx index 69219f8..3a1fb00 100644 --- a/apps/chrg/project.uvprojx +++ b/apps/chrg/project.uvprojx @@ -275,8 +275,8 @@ 1 - 0x8000000 - 0x100000 + 0x8010000 + 0x40000 1 @@ -337,9 +337,9 @@ 0 - RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, USE_HAL_DRIVER, __RTTHREAD__, STM32F405xx, __STDC_LIMIT_MACROS + USE_HAL_DRIVER, STM32F405xx, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_LIBC, RT_USING_ARMLIBC - ..\..\lib\freemodbus\modbus\include;..\..\rt-thread\components\drivers\phy;..\..\lib\stm32f4\STM32F4_HAL\Inc;..\..\lib\freemodbus\modbus\rtu;..\..\rt-thread\components\drivers\include;..\..\lib\freemodbus\port;.;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\components\net\netdev\include;..\..\rt-thread\components\drivers\smp_call;..\..\rt-thread\components\net\sal\include\socket;..\..\lib\cmsis-core\Include;..\..\lib\stm32f4\STM32F4_CMSIS\Include;..\..\rt-thread\libcpu\arm\cortex-m4;board\CubeMX_Config\Inc;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\libcpu\arm\common;..\..\rt-thread\include;..\..\rt-thread\components\libc\posix\io\epoll;..\..\lib\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\rt-thread\components\libc\posix\ipc;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\compilers\common\extension;..\..\rt-thread\components\libc\compilers\common\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;..\..\lib\freemodbus\modbus\ascii;board;..\..\rt-thread\components\drivers\include;applications;..\..\lib\freemodbus\modbus\tcp;..\..\rt-thread\components\finsh;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\net\sal\include\socket\sys_socket;..\..\rt-thread\components\net\sal\include;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\rt-thread\components\drivers\include + ..\..\rt-thread\components\drivers\include;..\..\lib\cmsis-core\Include;board;..\..\rt-thread\components\finsh;..\..\rt-thread\components\net\netdev\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers;..\..\rt-thread\components\drivers\phy;..\..\rt-thread\libcpu\arm\common;..\..\rt-thread\components\libc\compilers\common\extension\fcntl\octal;..\..\rt-thread\include;applications;..\..\rt-thread\components\libc\posix\io\poll;..\..\rt-thread\components\net\sal\include\socket\sys_socket;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\posix\ipc;..\..\lib\stm32f4\STM32F4_CMSIS\Include;..\..\lib\stm32f4\STM32F4_HAL\Inc\Legacy;..\..\lib\freemodbus\modbus\ascii;..\..\lib\freemodbus\modbus\rtu;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\compilers\common\include;..\..\rt-thread\bsp\stm32\libraries\HAL_Drivers\drivers\config;..\..\rt-thread\components\drivers\smp_call;..\..\lib\freemodbus\port;..\..\lib\freemodbus\modbus\tcp;..\..\rt-thread\components\drivers\include;.;..\..\rt-thread\components\libc\posix\io\epoll;..\..\rt-thread\components\libc\posix\io\eventfd;..\..\rt-thread\components\net\sal\include;..\..\rt-thread\components\net\sal\include\socket;..\..\lib\freemodbus\modbus\include;..\..\rt-thread\libcpu\arm\cortex-m4;..\..\lib\stm32f4\STM32F4_HAL\Inc;..\..\rt-thread\components\drivers\include;..\..\rt-thread\components\libc\compilers\common\extension;board\CubeMX_Config\Inc @@ -388,6 +388,11 @@ 1 applications\main.c + + usart2.c + 1 + applications\usart2.c + @@ -1145,6 +1150,16 @@ Finsh + + shell.c + 1 + ..\..\rt-thread\components\finsh\shell.c + + + msh.c + 1 + ..\..\rt-thread\components\finsh\msh.c + cmd.c 1 @@ -1155,26 +1170,136 @@ 1 ..\..\rt-thread\components\finsh\msh_parse.c - - msh.c - 1 - ..\..\rt-thread\components\finsh\msh.c - - - shell.c - 1 - ..\..\rt-thread\components\finsh\shell.c - FreeModbus + + mbfuncholding.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfuncholding.c + + + mb_m.c + 1 + ..\..\lib\freemodbus\modbus\mb_m.c + + + sample_mb_master.c + 1 + ..\..\lib\freemodbus\samples\sample_mb_master.c + user_mb_app_m.c 1 ..\..\lib\freemodbus\port\user_mb_app_m.c + + mbrtu.c + 1 + ..\..\lib\freemodbus\modbus\rtu\mbrtu.c + + + mbfuncinput_m.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfuncinput_m.c + + + mbfunccoils.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfunccoils.c + + + mbutils.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbutils.c + + + mbcrc.c + 1 + ..\..\lib\freemodbus\modbus\rtu\mbcrc.c + + + mbrtu_m.c + 1 + ..\..\lib\freemodbus\modbus\rtu\mbrtu_m.c + + + sample_mb_slave.c + 1 + ..\..\lib\freemodbus\samples\sample_mb_slave.c + + + porttcp.c + 1 + ..\..\lib\freemodbus\port\porttcp.c + + + portserial_m.c + 1 + ..\..\lib\freemodbus\port\portserial_m.c + + + porttimer.c + 1 + ..\..\lib\freemodbus\port\porttimer.c + + + portserial.c + 1 + ..\..\lib\freemodbus\port\portserial.c + + + mb.c + 1 + ..\..\lib\freemodbus\modbus\mb.c + + + porttimer_m.c + 1 + ..\..\lib\freemodbus\port\porttimer_m.c + + + mbfuncinput.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfuncinput.c + + + mbfuncholding_m.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfuncholding_m.c + + + mbfuncother.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfuncother.c + + + port.c + 1 + ..\..\lib\freemodbus\port\port.c + + + mbfuncdisc_m.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfuncdisc_m.c + + + user_mb_app.c + 1 + ..\..\lib\freemodbus\port\user_mb_app.c + + + mbfuncdiag.c + 1 + ..\..\lib\freemodbus\modbus\functions\mbfuncdiag.c + + + portevent_m.c + 1 + ..\..\lib\freemodbus\port\portevent_m.c + mbfuncdisc.c 1 @@ -1190,126 +1315,6 @@ 1 ..\..\lib\freemodbus\port\portevent.c - - mb_m.c - 1 - ..\..\lib\freemodbus\modbus\mb_m.c - - - mb.c - 1 - ..\..\lib\freemodbus\modbus\mb.c - - - mbfuncinput_m.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfuncinput_m.c - - - port.c - 1 - ..\..\lib\freemodbus\port\port.c - - - portserial.c - 1 - ..\..\lib\freemodbus\port\portserial.c - - - porttimer_m.c - 1 - ..\..\lib\freemodbus\port\porttimer_m.c - - - mbutils.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbutils.c - - - sample_mb_slave.c - 1 - ..\..\lib\freemodbus\samples\sample_mb_slave.c - - - portevent_m.c - 1 - ..\..\lib\freemodbus\port\portevent_m.c - - - mbfuncdiag.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfuncdiag.c - - - mbfuncholding.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfuncholding.c - - - portserial_m.c - 1 - ..\..\lib\freemodbus\port\portserial_m.c - - - mbrtu.c - 1 - ..\..\lib\freemodbus\modbus\rtu\mbrtu.c - - - mbfuncdisc_m.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfuncdisc_m.c - - - porttcp.c - 1 - ..\..\lib\freemodbus\port\porttcp.c - - - user_mb_app.c - 1 - ..\..\lib\freemodbus\port\user_mb_app.c - - - mbfunccoils.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfunccoils.c - - - mbfuncinput.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfuncinput.c - - - mbfuncholding_m.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfuncholding_m.c - - - porttimer.c - 1 - ..\..\lib\freemodbus\port\porttimer.c - - - mbcrc.c - 1 - ..\..\lib\freemodbus\modbus\rtu\mbcrc.c - - - mbfuncother.c - 1 - ..\..\lib\freemodbus\modbus\functions\mbfuncother.c - - - sample_mb_master.c - 1 - ..\..\lib\freemodbus\samples\sample_mb_master.c - - - mbrtu_m.c - 1 - ..\..\lib\freemodbus\modbus\rtu\mbrtu_m.c - @@ -2161,30 +2166,30 @@ klibc - kerrno.c + rt_vsscanf.c 1 - ..\..\rt-thread\src\klibc\kerrno.c - - - rt_vsnprintf_tiny.c - 1 - ..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c + ..\..\rt-thread\src\klibc\rt_vsscanf.c kstdio.c 1 ..\..\rt-thread\src\klibc\kstdio.c - - rt_vsscanf.c - 1 - ..\..\rt-thread\src\klibc\rt_vsscanf.c - kstring.c 1 ..\..\rt-thread\src\klibc\kstring.c + + rt_vsnprintf_tiny.c + 1 + ..\..\rt-thread\src\klibc\rt_vsnprintf_tiny.c + + + kerrno.c + 1 + ..\..\rt-thread\src\klibc\kerrno.c + @@ -2245,55 +2250,25 @@ STM32F4-CMSIS - - startup_stm32f405xx.s - 2 - ..\..\lib\stm32f4\STM32F4_CMSIS\Source\Templates\arm\startup_stm32f405xx.s - system_stm32f4xx.c 1 ..\..\lib\stm32f4\STM32F4_CMSIS\Source\Templates\system_stm32f4xx.c + + startup_stm32f405xx.s + 2 + ..\..\lib\stm32f4\STM32F4_CMSIS\Source\Templates\arm\startup_stm32f405xx.s + STM32F4-HAL - stm32f4xx_hal.c + stm32f4xx_hal_pwr.c 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c - - - stm32f4xx_hal_rcc_ex.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c - - - stm32f4xx_hal_pwr_ex.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c - - - stm32f4xx_hal_uart.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c - - - stm32f4xx_hal_cryp.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c - - - stm32f4xx_hal_gpio.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c - - - stm32f4xx_hal_dma_ex.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c stm32f4xx_hal_crc.c @@ -2301,44 +2276,74 @@ ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_crc.c - stm32f4xx_hal_usart.c + stm32f4xx_hal_rcc_ex.c 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_usart.c + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc_ex.c - stm32f4xx_hal_rng.c + stm32f4xx_hal_dma_ex.c 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c - - - stm32f4xx_hal_rcc.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c - - - stm32f4xx_hal_cortex.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma_ex.c stm32f4xx_hal_cryp_ex.c 1 ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp_ex.c - - stm32f4xx_hal_cec.c - 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cec.c - stm32f4xx_hal_dma.c 1 ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_dma.c - stm32f4xx_hal_pwr.c + stm32f4xx_hal_rng.c 1 - ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr.c + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rng.c + + + stm32f4xx_hal_gpio.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_gpio.c + + + stm32f4xx_hal_cryp.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cryp.c + + + stm32f4xx_hal_cec.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cec.c + + + stm32f4xx_hal_usart.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_usart.c + + + stm32f4xx_hal_pwr_ex.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_pwr_ex.c + + + stm32f4xx_hal.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal.c + + + stm32f4xx_hal_rcc.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_rcc.c + + + stm32f4xx_hal_uart.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_uart.c + + + stm32f4xx_hal_cortex.c + 1 + ..\..\lib\stm32f4\STM32F4_HAL\Src\stm32f4xx_hal_cortex.c diff --git a/apps/chrg/rtconfig.h b/apps/chrg/rtconfig.h index e6b8133..d00ca61 100644 --- a/apps/chrg/rtconfig.h +++ b/apps/chrg/rtconfig.h @@ -474,6 +474,9 @@ #define BSP_STM32_UART_V1_TX_TIMEOUT 2000 #define BSP_USING_UART1 #define BSP_USING_UART2 +#define BSP_USING_UART3 +#define BSP_USING_UART4 +#define BSP_USING_UART6 /* end of On-chip Peripheral Drivers */ /* Board extended module Drivers */ diff --git a/docs/PD31双向电源协议_V6.15.xlsx b/docs/PD31双向电源协议_V6.15.xlsx new file mode 100644 index 0000000..09bfebc Binary files /dev/null and b/docs/PD31双向电源协议_V6.15.xlsx differ diff --git a/docs/pins.xlsx b/docs/pins.xlsx new file mode 100644 index 0000000..dc94616 Binary files /dev/null and b/docs/pins.xlsx differ diff --git a/docs/变电压协议设置格式(sink)_V1.1.txt b/docs/变电压协议设置格式(sink)_V1.1.txt new file mode 100644 index 0000000..e74ef61 --- /dev/null +++ b/docs/变电压协议设置格式(sink)_V1.1.txt @@ -0,0 +1,94 @@ +冠达快充板(SINK)通讯协议 + +2025.8.13 + +SINK的ID为1,波特率200K,TTL + +1.读取变电压板电压 +(要实时比较设置的快充指令和读回来的快充指令,若有不一样,则重设) +(注意vooc模式下数据返回会很慢) + +发送: +0B 00 01 20 loadvh loadvl loadch loadcl nc nc CRC8 //长度+nc+id+指令+负载电压(2字节,0.01V)+负载电流(2字节,mA)+2个预留字节+CRC8校验 +回复: +15 00 01 20 VH VL qc_data1 qc_data2 qc_data3 qc_data4 qc_data5 qc_data6 ver_h ver_l nc nc nc nc nc nc CRC8 +//长度+nc+ID+指令+2字节电压(0.01V)+6字节快充指令+2字节版本号+6字节预留+CRC8校验 + + +2.读取源端的PD协议数据(当前为PDO,PPS,PD3.1,AVS协议时有效) +发送:05 00 01 13 2A +回复: +XX 00 01 13 //长度(根据实际计算)+NC+ID+指令 +00 00 VMINH VMINL VMAXH VMAXL CURH/PORH CURL/PORL NC NC NC NC NC NC +//源类型(1字节,00为PDO,03为APDO) + PPS类型(1字节,源类型为3时有效,00为SPR PPS,01为EPR AVS,02为SPR AVS) + 最小电压(2字节,mV) + 最大电压(2字节,mV) + 最大电流/功率(2字节,mA/W) + 预留(6字节,当PPS类型为02时有效,意义与前6字节一致) +00 00 VMINH VMINL VMAXH VMAXL CURH/PORH CURL/PORL NC NC NC NC NC NC +...... +CRC8 + + + +3.设置CC线 +发送: +06 00 01 17 00 2A //长度+nc+id+指令+CC(0为都选通,1为选择CC1,2为CC2,3为全断开)+CRC8校验 +回复: +05 00 01 17 2A //长度+nc+id+指令+CRC8校验 + + +4.设置CC线电平 +发送: +06 00 01 16 00 2A //长度+nc+id+指令+电平等级(0-10,默认7)+CRC8校验 +回复: +05 00 01 16 2A //长度+nc+id+指令+CRC8校验 + + +5.设置快充协议(VOOC,UFCS模式下切换其他模式时,需要先把V+,V-,D+,D-,CC等和变电压有关的继电器切至悬空,至少等待1s后,等能读到数据且快充指令正确,再把继电器切回) +格式: +长度+NC+ID+6字节快充数据+CRC8 +发送: +1、QC2.0,电压5V/9V/12V/20V, 命令:0A 00 01 F8 5A 00 00 00 00 2A //第5个字节为电压(0.1V) +2、QC3.0,电压3.3-20V, 命令:0A 00 01 F6 5A 00 00 00 00 2A //第5个字节为电压(0.1V) +3、FCP,电压5V/9V/12V, 命令:0A 00 01 F2 78 00 00 00 00 2A //第5个字节为电压(0.1V) +4、AFC,命令:0A 00 01 F9 46 00 00 00 00 2A //第5个字节为变电压数据,详细参考AFC文档 +5、SCP,命令:0A 00 01 F3 27 10 0F A0 00 2A //5,6字节为电压(mv),7、8字节为电流(mA) +6、VIVO , 命令:0A 00 01 FD 27 10 00 00 00 2A //5,6字节为电压(mv),7、8字节为电流(mA) +7、传音/TFC,命令:0A 00 01 F7 2E E0 00 00 00/01 2A //5,6字节为电压(mv),7、8字节为电流(mA),9字节为RFC/TFC选择 +8、PDO手动,需要设定组号,电压和产品相关,命令:0A 00 01 FB 05 00 00 00 00 2A //5字节为组号 +9、PDO自动,组号设为0,自动变到指定电压,命令:0A 00 01 FB 00 2E E0 00 00 2A //5字节为组号,6,7字节为电压(mv),8、9字节为电流(mA) +10、PPS手动,需要设定组号、电压、电流,电流0最大, 命令: 0A 00 01 FC 06 4E 20 00 00 2A //5字节为组号,6,7字节为电压(mv),8、9字节为电流(mA) +11、PPS自动,组号设为0,设定电压、电流,电流0最大, 命令:0A 00 01 FC 00 4E 20 00 00 2A //5字节为组号,6,7字节为电压(mv),8、9字节为电流(mA) +12、PD3.1, 命令:0A 00 01 E1 00 2328 07d0 2A (组号设置和电压设置都支持) //5字节为组号,6,7字节为电压(mv),8、9字节为电流(mA) +13、UFCS,命令:0A 00 01 E0 00 2328 07d0 2A (组号设置和电压设置都支持) //5字节为组号,6,7字节为电压(mv),8、9字节为电流(mA) +14、VOOC,电压10/11V, 命令:0A 00 01 E2 00 0000 0000 2A // +15、AVS,命令:0A 00 01 E3 00 4e20 07d0 2A (组号设置和电压设置都支持) //5字节为组号,6,7字节为电压(mv),8、9字节为电流(mA) + +回复: +回复最基本的5个字节: +长度+NC+ID+指令+CRC8 + + + + + + +CRC8校验算法如下: + +u8 get_crc(u8 *dat,u8 k) +{ + u8 i,res; + res=0x55; + for(i=0;i>=1;res|=0x80;}// + else{res>>=1;} + dat>>=1; + } + return res; +} \ No newline at end of file diff --git a/docs/变电压协议设置格式(source)_V1.0.txt b/docs/变电压协议设置格式(source)_V1.0.txt new file mode 100644 index 0000000..43a10e8 --- /dev/null +++ b/docs/变电压协议设置格式(source)_V1.0.txt @@ -0,0 +1,84 @@ +冠达快充板(SOURCE)通讯协议 + +2025.8.2 + +SOURCE的ID为2,波特率200K + +1.读取数据 +发送: +0B 00 02 20 volh voll curh curl nc nc CRC8 +//长度+nc+id+指令+2字节当前电源电压(mV)+2字节当前电源电流(mA)+2个预留字节+CRC8校验 +回复: +15 00 02 20 VH VL setvh setvl setch setcl NC NC verh verl NC NC NC NC NC NC CRC8 +//长度+nc+ID+指令+2字节读取的电压(0.01V)+2字节source设置电压(mV)+2字节source设置电流(mA)+2字节预留+2字节版本号+6字节预留+CRC8校验 + + +2.读取source的PD协议数据(当前为PDO,PPS,PD3.1,AVS协议时有效) +发送:05 00 02 13 2A +回复: +XX 00 02 13 //长度(根据实际计算)+NC+ID+指令 +00 00 VMAXH VMAXL VMINH VMINL CURH/PORH CURL/PORL NC NC NC NC NC NC +//源类型(1字节,00为PDO,03为APDO) + PPS类型(1字节,源类型为3时有效,00为SPR PPS,01为EPR AVS,02为SPR AVS) + 最大电压(2字节,mV) + 最小电压(2字节,mA) + 最大电流/功率(2字节,mA/W) + 预留(6字节,当协议类型为02时有效,意义与前6字节一致) +00 00 VMAXH VMAXL VMINH VMINL CURH/PORH CURL/PORL NC NC NC NC NC NC +...... +CRC8 + + +3.设置CC线电平 +发送: +06 00 02 16 00 2A //长度+nc+id+指令+电平等级(0xff为根据当前电流自动设置,否则为手动设定,设置方法待定)+CRC8校验 +回复: +05 00 02 16 2A //长度+nc+id+指令+CRC8校验 + + +4.设置支持的快充协议 +发送: +XX 00 02 D0 //长度(根据实际计算)+NC+ID+指令 +00 00 00 VMAXH VMAXL VMINH VMINL CURH/PORH CURL/PORL NC NC NC NC NC NC +//协议(1字节) + 源类型(1字节,PD协议有效,00为PDO,03为APDO) + PPS类型(1字节,PD协议有效,源类型为3时有效,00为SPR PPS,01为EPR AVS,02为SPR AVS) + 最大电压(2字节,mV) + 最小电压(2字节,mA) + 最大电流/功率(2字节,mA/W) + 预留(6字节,当协议类型为02时有效,意义与前6字节一致) +00 00 00 VMAXH VMAXL VMINH VMINL CURH/PORH CURL/PORL NC NC NC NC NC NC +...... +CRC8 +回复: +05 00 02 D0 CRC8 + +协议字节含义如下: +00 无快充 +01 VIFC(暂不支持) +02 FCP +03 SCP +04 预留 +05 预留 +06 RFC(暂不支持) +07 QC3.0 +08 QC2.0 +09 AFC +0A PDO/PPS +0B 预留 +0C UFCS +0D PD3.1/AVS +0E VOOC(暂不支持) + + +CRC8校验算法如下: + +u8 get_crc(u8 *dat,u8 k) +{ + u8 i,res; + res=0x55; + for(i=0;i>=1;res|=0x80;}// + else{res>>=1;} + dat>>=1; + } + return res; +} \ No newline at end of file diff --git a/keilkill.bat b/keilkill.bat index cdca8ee..4fba9c2 100644 --- a/keilkill.bat +++ b/keilkill.bat @@ -22,7 +22,6 @@ del JLinkLog.txt /s del *.iex /s del *.htm /s -del *.sct /s del *.map /s del *.dbgconf /s diff --git a/lib/freemodbus/samples/sample_mb_master.c b/lib/freemodbus/samples/sample_mb_master.c index 8c7c9a4..3da075c 100644 --- a/lib/freemodbus/samples/sample_mb_master.c +++ b/lib/freemodbus/samples/sample_mb_master.c @@ -60,7 +60,7 @@ static void send_thread_entry(void *parameter) static void mb_master_poll(void *parameter) { - eMBMasterInit(MB_RTU, PORT_NUM, PORT_BAUDRATE, PORT_PARITY); + eMBMasterInit(MB_RTU, 6, PORT_BAUDRATE, PORT_PARITY); eMBMasterEnable(); while (1)