восстановление потеряной ветки...
- сделана привязка датчиков по индексу или по юзер байтам
This commit is contained in:
61
DS18B20/outdate/onewire_uart.h
Normal file
61
DS18B20/outdate/onewire_uart.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file : onewire_uart.h
|
||||
* @brief : 1-Wire driver
|
||||
* @author : MicroTechnics (microtechnics.ru)
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef ONEWIRE_UART_H
|
||||
#define ONEWIRE_UART_H
|
||||
|
||||
|
||||
|
||||
/* Includes ----------------------------------------------------------------*/
|
||||
|
||||
#include "stm32f1xx_hal.h"
|
||||
|
||||
|
||||
|
||||
/* Declarations and definitions --------------------------------------------*/
|
||||
extern UART_HandleTypeDef huart1;
|
||||
#define onewire_uart (&huart1)
|
||||
#define ONEWIRE_BAUDRATE 115200
|
||||
#define ONEWIRE_RESET_BAUDRATE 9600
|
||||
#define ONEWIRE_UART_TIMEOUT 10
|
||||
#define ONEWIRE_BITS_NUM 8
|
||||
|
||||
/**
|
||||
* @brief Êîììàíäû OneWire
|
||||
* @details Îïðåäåëÿåò áàéòû äëÿ uart, êîòîðûå áóäóò
|
||||
* ôîðìèðîâàòü íåîáõîäèìóþ äëèíó èìïóëüñà äëÿ ðàçíûõ êîììàíä
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ONEWIRE_RESET = 0xF0, /*!< @brief Èìïóëüñ äëèíîé 520ìêñ äëÿ êîìàíäû Reset (9600bod)
|
||||
@details 1-Wire òðåáóåò èìïóëüñ äëèòåëüíîñòüþ >480ìêñ */
|
||||
|
||||
ONEWIRE_PULSE_SHORT = 0xFF, /*!< @brief Èìïóëüñ äëèíîé 8.7 ìêñ äëÿ çàïèñè "1"/÷òåíèÿ áèòà (115200bod)
|
||||
@details 1-Wire òðåáóåò èìïóëüñ äëèòåëüíîñòüþ 1-15ìêñ */
|
||||
|
||||
|
||||
ONEWIRE_PULSE_LONG = 0x00, /*!< @brief èìïóëüñ äëèíîé 78.3 ìêñ äëÿ çàïèñè "0" (115200bod)
|
||||
@details 1-Wire òðåáóåò èìïóëüñ äëèòåëüíîñòüþ 60-120ìêñ */
|
||||
|
||||
// ONEWIRE_PULSE_1_15US = 0xFF,
|
||||
// ONEWIRE_PULSE_60_120US = 0x00,
|
||||
}ONEWIRE_Commands;
|
||||
|
||||
|
||||
|
||||
|
||||
/* Functions ---------------------------------------------------------------*/
|
||||
/* Âûïîëíÿåò 1-Wire Reset è ïðîâåðÿåò íàëè÷èå óñòðîéñòâ íà øèíå */
|
||||
HAL_StatusTypeDef OneWireUART_Reset(UART_HandleTypeDef *huart);
|
||||
/* Ïåðåäàåò è ïðèíèìàåò áàéò ÷åðåç 1-Wire */
|
||||
uint8_t OneWireUART_ProcessByte(UART_HandleTypeDef *huart, uint8_t byte);
|
||||
/* Ïåðåäàåò è ïðèíèìàåò îäèí áèò ÷åðåç 1-Wire */
|
||||
uint8_t OneWireUART_ProcessBit(UART_HandleTypeDef *huart, uint8_t bit);
|
||||
|
||||
|
||||
|
||||
#endif // #ifndef ONEWIRE_UART_H
|
||||
Reference in New Issue
Block a user