Инициализация датчиков сделана по функции в структуре. По какому алгоритму надо найти датчик (ROM, UserBytes, порядковый номер) та функцию и пихается в структуру

Сделан поиск потерянных датчиков по функции в структуре (по тому же алгоритму, которому они были найдены)
This commit is contained in:
2025-02-06 18:47:20 +03:00
parent 9296faa0fb
commit 1de01f5665
4 changed files with 303 additions and 84 deletions

View File

@@ -514,6 +514,7 @@ uint8_t DS18B20_AlarmSearch(DS18B20_Drv_t *DS, OneWire_t* OW)
*/
HAL_StatusTypeDef DS18B20_Search(DS18B20_Drv_t *DS, OneWire_t *OW)
{
OW->RomCnt = 0;
/* Search all OneWire devices ROM */
while(1)
{
@@ -523,14 +524,11 @@ HAL_StatusTypeDef DS18B20_Search(DS18B20_Drv_t *DS, OneWire_t *OW)
/* Get device ROM */
OneWire_GetDevRom(OW, DS->DevAddr[OW->RomCnt]);
/* Set ROM Resolution */
DS18B20_SetResolution(OW, &OW->RomCnt, DS->Resolution);
/* Reset Temperature Alarm */
DS18B20_SetTempAlarm(OW, &OW->RomCnt, 0, 0);
OW->RomCnt++;
}
return (OW->RomCnt != 0) ? 1 : 0;
if(OW->RomCnt > 0)
return HAL_OK;
else
return HAL_BUSY;
}