Здравствуй All!
Необходимо написать программную поддержку передачи данных между встроенными портами UART1 и UART2 STM32F051.
Алгоритм такой: 1. Прием данных с порта UART1 микроконтроллера, он подключен к PC, который всегда является мастером и запрашивает данные с устройства, которое подключено к порту UART2 микроконтроллера. 2. Загрузка принятых данных с UART1 в буфер1 256 байт, принятый пакет всегда меньше. 3. Передача данных из буфера1 в UART2. 4. Ожидание ответа внешнего устройства подключенного к UART2, и после получение данных в другой буфер2, то же 256 байт, иначе выход по таймауту 10 сек. 5. Передача данных из буфера2 в UART1 в сторону PC.
PS: Скорость передачи на портах UART1 и UART2 разная!
Я понимаю, что надо использовать прерывания, но запуталась с флагами, и пока ничего рабочего не получается. С DMA просто боюсь связываться. В конференциях аналогичного ничего рабочего не нашла. Буду признательна, если кто нибудь объяснит и даст пример рабочего кода для этой задачи.
С уважением. Вечный студент Алла.
Сообщение отредактировал Alla_student - Aug 14 2016, 05:34
|