дравствуйте!
Может быть кто-то сталкивался с проблемами при перенаправлении printf и scanf на UART?
Я использую китайскую плату с MC stm32F103. Для программирования использую
IAR 7.40 и библиотеку HAL из stm32cubef1 (STM32Cube_FW_F1_V1.2.0)
Задача - перенаправить стандартный ввод-вывод на UART.
Задачу я решил, даже двумя способами, но у каждого способа оказались свои недостатки.
Буду рад, если найдутся желающие посмотреть мой нехитрый код и объяснить мне, как его исправить.
В программе с помощью макроса EXTTTY можно настроить три варианта ввода/вывода:
EXTTTY 0 - ввод/вывод в I/O Terminal оболочки IAR
EXTTTY 1 - ввод/вывод через UART посредством переопределения функций fputc и fgetc
EXTTTY 2 - ввод/вывод через UART посредством переопределения функций __write и __read и написания MyLowLevelPutchar и MyLowLevelGetchar
Проблемы при EXTTTY 1 - scanf с шаблоном "%d" "проглатывает" первый символ. (Вводишь 123, воспринимается как 23)
Проблемы при EXTTTY 2 Все раюотает примерно 2 минуты, а затем в терминал начинают сыпаться какие-то левые символы (может, вотчдог срабатывает?)
Может быть кто-нибудь сталкивался с подобными проблемами и смог это вылечить?
Код находится в прикрепленном архивчике и может свободно использоваться в собственных разработках.
Заранее благодарю откликнувшихся )
Прикрепленные файлы
Прикрепленный файл myprintf.zip ( 104.18 килобайт ) Кол-во скачиваний: 0