сделана инициализация всей периферии для OW в Dallas_BusFirstInit

можно выбрать дефолтную периферию, передав в фукнию NULL, а можно и свою кастомную, типа

  Dallas_BusFirstInit(&hdallas, GPIOA, GPIO_PIN_2);

надо теперь расписать все в ридми
This commit is contained in:
2025-06-30 19:00:42 +03:00
parent fad8b2551a
commit 5cc733f4d2
4 changed files with 43 additions and 23 deletions

View File

@@ -13,49 +13,53 @@
#include "stm32f1xx_hal.h"
/* I/O Port ------------------------------------------------------------------*/
//#define UART_Driver ///< использовтаь UART (onewire_uart.c/.h)
#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
/**
* @def OW_GPIO_Port
* @brief Порт вывода для шины 1-Wire.
* @details Указывает порт GPIO, к которому подключена линия данных 1-Wire (например, для DS18B20).
*/
#define OW_GPIO_Port GPIOA
/**
* @def OW_Pin_Numb
* @brief Номер пина в порту OW_GPIO_Port.
* @details Используется для формирования маски пина и настройки ввода/вывода.
*/
#define OW_Pin_Numb 9
/**
* @def OW_Pin
* @brief Маска пина, соответствующая номеру OW_Pin_Numb.
* @details Используется при доступе к регистрам порта для управления состоянием линии 1-Wire.
*/
#define OW_Pin (1<<OW_Pin_Numb)
#define OW_Pin (GPIO_PIN_9)
/**
* @def OW_TIM
* @brief Аппаратный таймер для формирования временных интервалов протокола 1-Wire.
* @details Применяется для создания точных задержек при обмене данными по шине 1-Wire.
*/
#define OW_TIM TIM3
/**
* @def OW_TIM_1US_PERIOD
* @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 -----------------------------------------------------------*/