release 0.3
Добавлен master, НО до конца не проверен
This commit is contained in:
39
README.md
39
README.md
@@ -81,8 +81,8 @@ ProjectRoot/
|
||||
3.3. В `modbus_config.h` укажите параметры устройства
|
||||
|
||||
3.4. Инициализация в коде
|
||||
|
||||
В `main()` после инициализации HAL:
|
||||
|
||||
Чтобы настроить Slave-режим `main()` после инициализации HAL:
|
||||
|
||||
```c
|
||||
#include "modbus.h"
|
||||
@@ -97,10 +97,11 @@ ProjectRoot/
|
||||
MX_TIM3_Init();
|
||||
|
||||
// Инициализация Modbus
|
||||
MODBUS_SetupHardware(&hmodbus1, &mb_huart, &mb_htim);
|
||||
MODBUS_FirstInit(&hmodbus1, &mb_huart, &mb_htim);
|
||||
MODBUS_Config(&hmodbus1, 1, 1000, MODBUS_MODE_SLAVE);
|
||||
|
||||
// Запуск приема Modbus
|
||||
MODBUS_SlaveStart(&hmodbus1, &MODBUS_MSG);
|
||||
MODBUS_SlaveStart(&hmodbus1, NULL);
|
||||
|
||||
while (1)
|
||||
{
|
||||
@@ -109,6 +110,34 @@ ProjectRoot/
|
||||
}
|
||||
```
|
||||
|
||||
Чтобы настроить Master-режим `main()` после инициализации HAL:
|
||||
|
||||
```c
|
||||
#include "modbus.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
// Инициализация HAL
|
||||
HAL_Init();
|
||||
SystemClock_Config();
|
||||
MX_GPIO_Init();
|
||||
MX_USART1_UART_Init();
|
||||
MX_TIM3_Init();
|
||||
|
||||
// Инициализация Modbus
|
||||
MODBUS_FirstInit(&hmodbus1, &mb_huart, &mb_htim);
|
||||
MODBUS_Config(&hmodbus1, 0, 1000, MODBUS_MODE_MASTER);
|
||||
|
||||
// Запуск приема Modbus
|
||||
// Запрос на 1 ID, считать холдинг регистры с 0 адреса 10 штук
|
||||
RS_MsgTypeDef msg = MB_MASTER_READ_HOLDING_REGS(1, 0, 10);
|
||||
MODBUS_MasterRequest(&hmodbus1, &msg, &callback_func);
|
||||
void callback_func(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg)
|
||||
{
|
||||
// modbus_msg содержит ответ от устройства
|
||||
}
|
||||
}
|
||||
```
|
||||
3.5. Настройка карты данных
|
||||
|
||||
В `modbus_data.h` настройте регистры и coils под ваше устройство:
|
||||
@@ -178,7 +207,7 @@ ProjectRoot/
|
||||
|
||||
5. **Обновление библиотеки**:
|
||||
|
||||
После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, но ваши конфиги останутся в целевой папке и не перезапишутся:
|
||||
После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, и ваши конфиги вне субмодуля не перезапишутся:
|
||||
|
||||
```bash
|
||||
git submodule update --remote
|
||||
|
||||
Reference in New Issue
Block a user