Добавлен функция скана всех сенсоров на линии через модбас

Заполнение респонса в модбас выведено в отдельную функцию
This commit is contained in:
2025-03-05 10:07:05 +03:00
parent 932a6cc8e0
commit 28749c63e8
11 changed files with 241 additions and 100 deletions

View File

@@ -16,6 +16,7 @@ void OneWire_WriteBit(OneWire_t* OW, uint8_t bit)
if(OW == NULL)
return;
#ifndef ONEWIRE_UART_H
__disable_irq();
if(bit)
{
/* Set line low */
@@ -46,6 +47,7 @@ void OneWire_WriteBit(OneWire_t* OW, uint8_t bit)
OneWire_Delay_uw(ONEWIRE_COMMAND_SLOT_US - ONEWIRE_WRITE_0_US);
OneWire_Pin_Mode(OW, Input);
}
__enable_irq();
#else
OneWireUART_ProcessBit(onewire_uart, bit);
#endif
@@ -61,6 +63,7 @@ uint8_t OneWire_ReadBit(OneWire_t* OW)
if(OW == NULL)
return 0;
__disable_irq();
uint8_t bit = 0;
#ifndef ONEWIRE_UART_H
/* Line low */
@@ -77,6 +80,7 @@ uint8_t OneWire_ReadBit(OneWire_t* OW)
/* Wait 50us to complete 60us period */
OneWire_Delay_uw(ONEWIRE_COMMAND_SLOT_US - ONEWIRE_READ_CMD_US - ONEWIRE_READ_DELAY_US);
__enable_irq();
#else
bit = OneWireUART_ProcessBit(onewire_uart, 1);
#endif