добавлена реализация onewire через uart и переделана структуруа шины OneWire и инциализация

Теперь при выборе UART, в функцию Dallas_BusFirstInit передается hdallas, huart, ow, ds

А при выборе GPIO ножки: hdallas, gpiox, gpio_pin, ow, ds

но надо как-то структуруизировать дальше
This commit is contained in:
2025-06-30 18:34:17 +03:00
parent 175bcd539f
commit fa32d653e8
14 changed files with 373 additions and 61 deletions

View File

@@ -91,9 +91,14 @@ int main(void)
MX_TIM3_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
Dallas_BusFirstInit(&htim3);
#ifndef UART_Driver
Dallas_BusFirstInit(&hdallas, OW_GPIO_Port, OW_Pin, NULL, NULL);
#else
Dallas_BusFirstInit(&hdallas, &huart1, NULL, NULL);
#endif
sens.Init.InitParam.Ind = 0;
sens.Init.init_func = &Dallas_SensorInitByInd;
sens.Init.Resolution = DALLAS_CONFIG_12_BITS;
Dallas_AddNewSensors(&hdallas, &sens);
/* USER CODE END 2 */

View File

@@ -41,7 +41,7 @@ void MX_TIM3_Init(void)
/* USER CODE END TIM3_Init 1 */
htim3.Instance = TIM3;
htim3.Init.Prescaler = 2;
htim3.Init.Prescaler = 0;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 65535;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

View File

@@ -46,7 +46,7 @@ void MX_USART1_UART_Init(void)
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart1) != HAL_OK)
if (HAL_HalfDuplex_Init(&huart1) != HAL_OK)
{
Error_Handler();
}
@@ -71,18 +71,12 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
__HAL_RCC_GPIOA_CLK_ENABLE();
/**USART1 GPIO Configuration
PA9 ------> USART1_TX
PA10 ------> USART1_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_9;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* USER CODE BEGIN USART1_MspInit 1 */
/* USER CODE END USART1_MspInit 1 */
@@ -102,9 +96,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/**USART1 GPIO Configuration
PA9 ------> USART1_TX
PA10 ------> USART1_RX
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9);
/* USER CODE BEGIN USART1_MspDeInit 1 */