Я хотел бы реализовать мастер RS485 Link, используя STM32L053, который получает слова, только когда он пробуждается аппаратным сопоставлением адресов (9-битные данные с msb, установленным для маркера адреса). На первый взгляд, многопроцессорный режим позволяет пробуждать адрес, но, по-видимому, это устраняет доступ к функции вывода DE.
Возможно ли включить оба? Или я должен реализовать DE вручную?
Я пробовал начать с порта RS485 и разрешить пробуждение адреса, и наоборот;начиная с мультипроцессора и включая DE Driver Enable. И то, и другое не удалось.
if (HAL_MultiProcessor_Init(&huart1, 1, UART_WAKEUPMETHOD_ADDRESSMARK) != HAL_OK)
{
Error_Handler();
}
if (HAL_RS485Ex_Init(&huart1, UART_DE_POLARITY_HIGH, 0, 0) != HAL_OK)
{
Error_Handler();
}
Несмотря на то, что код, кажется, что-то делает, вывод DE не может быть настроен как DE, потому что UART находится в неправильном режиме. Я думаю, что я нахожусь в безнадежном деле, и лучший путь, вероятно, состоит в том, чтобы отказаться и включить / отключить драйверы с помощью программного обеспечения?