восстановление потеряной ветки...
- сделана привязка датчиков по индексу или по юзер байтам
This commit is contained in:
51
DS18B20/outdate/onewire_it_driver.h
Normal file
51
DS18B20/outdate/onewire_it_driver.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file onewire.h
|
||||
* @brief This file contains all the constants parameters for the OneWire
|
||||
******************************************************************************
|
||||
* @attention
|
||||
* Usage:
|
||||
* Uncomment LL Driver for HAL driver
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef ONEWIRE_IT_DRIVER_H
|
||||
#define ONEWIRE_IT_DRIVER_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "stm32f1xx.h"
|
||||
#include "onewire.h"
|
||||
|
||||
#define ONE_WIRE_TIMER_PERIOD_US 1 // Ïåðèîä òàéìåðà â ìèêðîñåêóíäàõ (1 ìêñ)
|
||||
#define OP_QUEUE_SIZE 10 // Áóôåð îïåðàöèé OneWire
|
||||
typedef enum {
|
||||
OW_RESET,
|
||||
OW_READ_BIT,
|
||||
OW_SET_BIT,
|
||||
OW_RESET_BIT,
|
||||
OW_IDLE
|
||||
} OneWire_State;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
OneWire_t *onewire;
|
||||
uint8_t *data; // Áóôåð äëÿ äàííûõ (äëÿ çàïèñè è ÷òåíèÿ)
|
||||
uint8_t data_len; // Äëèíà äàííûõ
|
||||
uint8_t current_byte_idx; // Èíäåêñ òåêóùåãî áàéòà äëÿ çàïèñè/÷òåíèÿ
|
||||
uint8_t current_bit_idx; // Èíäåêñ òåêóùåãî áèòà äëÿ çàïèñè/÷òåíèÿ
|
||||
uint8_t head; // Èíäåêñ ïåðâîé îïåðàöèè â î÷åðåäè
|
||||
uint8_t tail; // Èíäåêñ ïîñëåäíåé îïåðàöèè â î÷åðåäè
|
||||
uint8_t op_done; // Èíäåêñ ïîñëåäíåé îïåðàöèè â î÷åðåäè
|
||||
void (*operation_queue[OP_QUEUE_SIZE])(OneWire_t*); // Î÷åðåäü îïåðàöèé
|
||||
}OneWire_ITHandleTypeDef;
|
||||
extern OneWire_ITHandleTypeDef honewire;
|
||||
|
||||
void OneWireTIMHandler(TIM_HandleTypeDef *htim, OneWire_ITHandleTypeDef *OW);
|
||||
void OneWireIT_Init(OneWire_ITHandleTypeDef *OW_IT);
|
||||
HAL_StatusTypeDef OneWire_ReadBit_ITHandle(OneWire_t *OW, uint8_t *bit);
|
||||
HAL_StatusTypeDef OneWire_WriteBit_ITHandle(OneWire_t *OW, uint8_t bit);
|
||||
HAL_StatusTypeDef OneWire_Reset_ITHandle(OneWire_t *OW);
|
||||
|
||||
#endif /* ONEWIRE_IT_DRIVER_H */
|
||||
Reference in New Issue
Block a user