Пн апр 11, 2022 00:30:24
char str[1024] = { 0 };
int main(void) {
MX_USART1_UART_Init();
MX_USART2_UART_Init();
HAL_UARTEx_ReceiveToIdle_IT(&huart1, str, 1024);
while (1) {
}
}
static void MX_USART1_UART_Init(void) {
/* USER CODE BEGIN USART1_Init 0 */
/* USER CODE END USART1_Init 0 */
/* USER CODE BEGIN USART1_Init 1 */
/* USER CODE END USART1_Init 1 */
huart1.Instance = USART1;
huart1.Init.BaudRate = 9600;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
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) {
Error_Handler();
}
/* USER CODE BEGIN USART1_Init 2 */
/* USER CODE END USART1_Init 2 */
}
/**
* @brief USART2 Initialization Function
* @param None
* @retval None
*/
static void MX_USART2_UART_Init(void) {
/* USER CODE BEGIN USART2_Init 0 */
/* USER CODE END USART2_Init 0 */
/* USER CODE BEGIN USART2_Init 1 */
/* USER CODE END USART2_Init 1 */
huart2.Instance = USART2;
huart2.Init.BaudRate = 115200;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart2) != HAL_OK) {
Error_Handler();
}
/* USER CODE BEGIN USART2_Init 2 */
/* USER CODE END USART2_Init 2 */
}
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) {
if (huart->Instance == USART1) {
HAL_UART_Transmit_IT(&huart2, str, Size);
HAL_UARTEx_ReceiveToIdle_IT(&huart1, str, 1024);
}
}
Name : str
Details:"b", '\0' <repeats 1022 times>
Пн апр 11, 2022 16:35:01
Пн апр 11, 2022 17:00:51
The Rock писал(а):То поймал момент, когда я разъединял линию и мне в терминал приходили 00
Пн апр 11, 2022 17:34:49
tonyk писал(а):Сам подумай: как из линии, притянутой к "1", могут приходить "нули"? Неужели у тебя ничё не ёкает на "0" из UART?
GPIO_InitStruct.Pin = GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
Пн апр 11, 2022 19:16:54
The Rock писал(а): напряжение на TX линии от 3.3В до 1.2В
Пн апр 11, 2022 23:14:50
Вт апр 12, 2022 13:11:36
HAL_NVIC_SetPriority(UART4_IRQn, 15, 0);
HAL_NVIC_EnableIRQ(UART4_IRQn);
Вт апр 12, 2022 14:42:00
Вы имеете ввиду проверить исправность UART1, при помощи например USB-UART конвертера?Cheeseman писал(а):Настрой сначала первый UART на передачу. Проверь, летят ли байты. Когда убедишься, что летят, то только после этого настраивай второй на прием.
Также попробуй добавить вот это.
Вт апр 12, 2022 17:41:31
Вт апр 12, 2022 20:30:19