doxygen update
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
* @details
|
||||
Файл содержит реализацию функций работы с Modbus.
|
||||
|
||||
@section Функции и макросы
|
||||
@section Функции и макросы
|
||||
|
||||
### Инициализация:
|
||||
- MODBUS_FirstInit() — Инициализация Modbus (подключение UART, TIM)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* @details Позволяет обратиться к любому коилу по его глобальному адрессу.
|
||||
Вне зависимости от того как коилы размещены в памяти.
|
||||
*/
|
||||
MB_ExceptionTypeDef MB_Write_Coil_Global(uint16_t Addr, MB_CoilsOpTypeDef WriteVal)
|
||||
MB_ExceptionTypeDef MB_Coil_Write_Global(uint16_t Addr, MB_CoilsOpTypeDef WriteVal)
|
||||
{
|
||||
//---------CHECK FOR ERRORS----------
|
||||
MB_ExceptionTypeDef Exception = NO_ERRORS;
|
||||
@@ -63,7 +63,7 @@ MB_ExceptionTypeDef MB_Write_Coil_Global(uint16_t Addr, MB_CoilsOpTypeDef WriteV
|
||||
* @details Позволяет обратиться к любому коилу по его глобальному адрессу.
|
||||
Вне зависимости от того как коилы размещены в памяти.
|
||||
*/
|
||||
uint16_t MB_Read_Coil_Global(uint16_t Addr, MB_ExceptionTypeDef *Exception)
|
||||
uint16_t MB_Coil_Read_Global(uint16_t Addr, MB_ExceptionTypeDef *Exception)
|
||||
{
|
||||
//---------CHECK FOR ERRORS----------
|
||||
MB_ExceptionTypeDef Exception_tmp;
|
||||
@@ -221,7 +221,7 @@ uint8_t MB_Process_Write_Single_Coil(RS_MsgTypeDef *modbus_msg)
|
||||
* @return fMessageHandled Статус о результате обработки комманды.
|
||||
* @details Обработка команды Write Multiple Coils.
|
||||
*/
|
||||
uint8_t MB_Write_Miltuple_Coils(RS_MsgTypeDef *modbus_msg)
|
||||
uint8_t MB_Process_Write_Miltuple_Coils(RS_MsgTypeDef *modbus_msg)
|
||||
{
|
||||
//---------CHECK FOR ERRORS----------
|
||||
if (modbus_msg->ByteCnt != Divide_Up(modbus_msg->Qnt, 8))
|
||||
@@ -285,10 +285,10 @@ uint8_t MB_Write_Miltuple_Coils(RS_MsgTypeDef *modbus_msg)
|
||||
|
||||
|
||||
int MB_RespGet_CoilState(RS_MsgTypeDef *modbus_msg, uint16_t coil_addr, int *coil_state) {return 0;}
|
||||
MB_ExceptionTypeDef MB_Write_Coil_Global(uint16_t Addr, MB_CoilsOpTypeDef WriteVal) {return ILLEGAL_FUNCTION;}
|
||||
uint16_t MB_Read_Coil_Global(uint16_t Addr, MB_ExceptionTypeDef *Exception) {return 0;}
|
||||
MB_ExceptionTypeDef MB_Coil_Write_Global(uint16_t Addr, MB_CoilsOpTypeDef WriteVal) {return ILLEGAL_FUNCTION;}
|
||||
uint16_t MB_Coil_Read_Global(uint16_t Addr, MB_ExceptionTypeDef *Exception) {return 0;}
|
||||
uint8_t MB_Process_Read_Coils(RS_MsgTypeDef *modbus_msg) {return 0;}
|
||||
uint8_t MB_Process_Write_Single_Coil(RS_MsgTypeDef *modbus_msg) {return 0;}
|
||||
uint8_t MB_Write_Miltuple_Coils(RS_MsgTypeDef *modbus_msg) {return 0;}
|
||||
uint8_t MB_Process_Write_Miltuple_Coils(RS_MsgTypeDef *modbus_msg) {return 0;}
|
||||
|
||||
#endif
|
||||
@@ -9,7 +9,7 @@
|
||||
- Определение указателей на реальные данные в памяти
|
||||
- Поддержка пользовательских массивов регистров и coils
|
||||
|
||||
@section Валидация адресов:
|
||||
@section Валидация адресов:
|
||||
- MB_Check_Address_For_Arr() - проверка принадлежности адреса массиву
|
||||
- MB_DefineRegistersAddress() - получение указателя на регистры
|
||||
- MB_DefineCoilsAddress() - получение указателя на coils
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
- Поддержка потоковой передачи при большом количестве объектов
|
||||
- Автоматический расчет MoreFollows флагов
|
||||
|
||||
@section Потоковая передача:
|
||||
@section Потоковая передача:
|
||||
При большом количестве объектов идентификация разбивается на несколько
|
||||
сообщений с установкой флага MoreFollows и указанием NextObjId для
|
||||
продолжения чтения в следующем запросе.
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
- Запись одиночного регистра (0x06) - прямая запись значения
|
||||
- Запись множественных регистров (0x10) - пакетная запись из буфера
|
||||
|
||||
@section Валидация данных:
|
||||
@section Валидация данных:
|
||||
- Проверка соответствия количества байт и регистров
|
||||
Валидация адресов через MB_DefineRegistersAddress()
|
||||
- Обработка исключений при некорректных запросах
|
||||
|
||||
@section Echo-ответы:
|
||||
@section Echo-ответы:
|
||||
При успешной записи формируется echo-ответ с теми же данными,
|
||||
что были в запросе (для функций 0x05, 0x06, 0x0F, 0x10).
|
||||
******************************************************************************/
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @details
|
||||
Файл содержит реализацию функций для работы Modbus в режиме мастера.
|
||||
|
||||
@section Функции и макросы
|
||||
@section Функции и макросы
|
||||
|
||||
- MB_Master_Collect_Message() — Сбор сообщения в режиме мастера
|
||||
- MB_Master_Parse_Message() — Парс сообщения в режиме мастера
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @details
|
||||
Файл содержит реализацию функций для работы Modbus в режиме слейва.
|
||||
|
||||
@section Функции и макросы
|
||||
@section Функции и макросы
|
||||
|
||||
- MB_Slave_Response() — Ответ на запрос
|
||||
- MB_Slave_Collect_Message() — Сбор сообщения в режиме слейва.
|
||||
@@ -78,7 +78,7 @@ RS_StatusTypeDef MB_Slave_Response(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *mod
|
||||
|
||||
// Write Multiple Coils
|
||||
case MB_W_COILS:
|
||||
hmodbus->f.MessageHandled = MB_Write_Miltuple_Coils(hmodbus->pMessagePtr);
|
||||
hmodbus->f.MessageHandled = MB_Process_Write_Miltuple_Coils(hmodbus->pMessagePtr);
|
||||
if(hmodbus->f.MessageHandled)
|
||||
{
|
||||
hmodbus->f.DataUpdated = 1;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
- Таймаутов через таймер
|
||||
- Двухстадийного приема (заголовок + данные)
|
||||
|
||||
@section Архитектура:
|
||||
@section Архитектура:
|
||||
В режиме слейв:
|
||||
- Инициализация приема с сообщения с максимальным размером MSG_SIZE_MAX
|
||||
- При срабатывании прерывания IDLE - обработка полученного сообщения
|
||||
@@ -18,7 +18,7 @@
|
||||
- Отправка запроса и переход в режим приема сообщения с максимальным размером MSG_SIZE_MAX
|
||||
- При срабатывании прерывания IDLE - обработка полученного ответа
|
||||
|
||||
@section Необходимые обработчики:
|
||||
@section Необходимые обработчики:
|
||||
- RS_UART_Handler() в UARTx_IRQHandler вместо HAL_UART_IRQHandler()
|
||||
- RS_TIM_Handler() в TIMx_IRQHandler вместо HAL_TIM_IRQHandler()
|
||||
******************************************************************************/
|
||||
|
||||
Reference in New Issue
Block a user