можно выбрать дефолтную периферию, передав в фукнию NULL, а можно и свою кастомную, типа Dallas_BusFirstInit(&hdallas, GPIOA, GPIO_PIN_2); надо теперь расписать все в ридми
73 lines
3.0 KiB
C
73 lines
3.0 KiB
C
/**
|
||
******************************************************************************
|
||
* @file ow_port.h
|
||
* @brief This file includes the driver for port for OneWire purposes
|
||
******************************************************************************
|
||
*/
|
||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||
#ifndef ONEWIRE_PORT_H
|
||
#define ONEWIRE_PORT_H
|
||
|
||
|
||
/* Includes ------------------------------------------------------------------*/
|
||
#include "stm32f1xx_hal.h"
|
||
|
||
/* I/O Port ------------------------------------------------------------------*/
|
||
#define UART_Driver ///< использовтаь UART (onewire_uart.c/.h)
|
||
//#define LL_Driver ///< использовать CMSIS для управления ножкой
|
||
#define CMSIS_Driver ///< использовать CMSIS для управления ножкой
|
||
// если ничего не выбрано - используется HAL
|
||
|
||
|
||
/**
|
||
* @defgroup DEFAULT_SETTINGS Дефолтные параметры для OW
|
||
* @details Определены дефолтные параметры для OW, применятся если передать NULL в Dallas_BusFirstInit.
|
||
* @{
|
||
*/
|
||
|
||
/**
|
||
* @brief Порт вывода для шины 1-Wire.
|
||
* @details Указывает порт GPIO, к которому подключена линия данных 1-Wire (например, для DS18B20).
|
||
*/
|
||
#define OW_UART_Handle huart1
|
||
|
||
/**
|
||
* @brief Порт вывода для шины 1-Wire.
|
||
* @details Указывает порт GPIO, к которому подключена линия данных 1-Wire (например, для DS18B20).
|
||
*/
|
||
#define OW_GPIO_Port GPIOA
|
||
|
||
/**
|
||
* @brief Маска пина, соответствующая номеру OW_Pin_Numb.
|
||
* @details Используется при доступе к регистрам порта для управления состоянием линии 1-Wire.
|
||
*/
|
||
#define OW_Pin (GPIO_PIN_9)
|
||
|
||
/**
|
||
* @brief Аппаратный таймер для формирования временных интервалов протокола 1-Wire.
|
||
* @details Применяется для создания точных задержек при обмене данными по шине 1-Wire.
|
||
*/
|
||
#define OW_TIM TIM3
|
||
|
||
/**
|
||
* @brief Количество тактов таймера OW_TIM, соответствующее 1 микросекунде.
|
||
* @details Вычисляется на основе частоты таймера. Например, для таймера с частотой 24 МГц значение будет равно 24.
|
||
*/
|
||
#define OW_TIM_1US_PERIOD 72
|
||
|
||
|
||
/** DEFAULT_SETTINGS
|
||
* @}
|
||
*/
|
||
|
||
/* OneWire Timings -----------------------------------------------------------*/
|
||
void OneWire_Delay_us(uint32_t us);
|
||
/* Common Register -----------------------------------------------------------*/
|
||
|
||
|
||
#if defined(UART_Driver)
|
||
#include "onewire_uart.h"
|
||
#include "usart.h"
|
||
#endif
|
||
#endif /* ONEWIRE_PORT_H */
|