Возможно ли активировать ОБА драйвер активации сигнала и аппаратный адрес проснуться на stm32L USART? - PullRequest
1 голос
/ 04 ноября 2019

Я хотел бы реализовать мастер 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 находится в неправильном режиме. Я думаю, что я нахожусь в безнадежном деле, и лучший путь, вероятно, состоит в том, чтобы отказаться и включить / отключить драйверы с помощью программного обеспечения?

...