21.12.2016, 15:57
|
#1
|
Прохожий
Регистрация: 21.12.2016
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Проблема с ADuC845, вывод данных через UART
Уважаемые знатоки!
Есть задача вывода данных из ADuC845 на монитор ПК (с помощью UART)
Приобрёл отладку Eval ADuC845, к ней есть куча умных примеров, в т.ч. код UART2 (попробую приложить). Приложенный код работает "на ура", но мучает нюанс: в блоке инициализации стоит: MOV SCON,#52h, что приводит к установке в "1" флага TI, который, согласно datasheet, устанавливается АППАРАТНО! Пробовал заменить на MOV SCON,#50h - полный крах! Объясните несведущему влияние ручной установки АППАРАТНО УСТАНАВЛИВАЕМОГО ФЛАГА TI!
Эт первое.
Второе. Понадобилось мне изменить синхронизацию UART вместо Т3 на Т2. И опять полный крах! Где я сбаранничал, подскажите, знатоки!
В приложенном рабочий код исправлен на использование Т2, а исходные фрагменты "заремлены" (;) (исправления только в MAIN до слова START).
С П А С И Б О !
|
|
|
|
21.12.2016, 16:14
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,996
Сказал спасибо: 3,015
Сказали Спасибо 3,191 раз(а) в 2,164 сообщении(ях)
|
Re: Проблема с ADuC845, вывод данных через UART
Сообщение от Peotr
|
в блоке инициализации стоит: MOV SCON,#52h, что приводит к установке в "1" флага TI, который, согласно datasheet, устанавливается АППАРАТНО!
|
Так написана подпрограмма SENDCHAR. Поэтому, до самой первой передачи, TI "взводится" программно.
Сам так делаю.
|
|
|
Сказали "Спасибо" ForcePoint
|
|
|
21.12.2016, 16:20
|
#3
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: Проблема с ADuC845, вывод данных через UART
"полный крах" это что?
Я, если честно, х51 уже изрядно призабыл. Думаю, установка флага "вручную" там нужна для того, чтобы обозначить "свободность" передатчика (sendchar ждет 1 в этом бите). А устанавливается он аппаратно по окончании передачи. Но передачи-то исходно никакой нет! Биты флагов же в архитектуре x51 могут устанавливаться и программно.
А вообще то такие моменты должны быть расписаны в виде (1‹‹ИМЯБИТА)
ну вот, опередили уже
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
21.12.2016, 21:34
|
#4
|
Прохожий
Регистрация: 21.12.2016
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проблема с ADuC845, вывод данных через UART
Так написана подпрограмма SENDCHAR. Поэтому, до самой первой передачи, TI "взводится" программно.
Сам так делаю.[/QUOTE]
А что значит, "так написана"? Там есть ожидание аппаратной установки флага. Кстати у Редькина "Микроконверторы фирмы Analog Devices..." этот флаг не инициализируется, т.е. SCON=50h.
Мне, пожалуйста, по-проще, если можно...
|
|
|
|
21.12.2016, 21:36
|
#5
|
Прохожий
Регистрация: 21.12.2016
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проблема с ADuC845, вывод данных через UART
"Полный крах" - это я так назвал, когда на мониторе нет вообще ничего. ![Улыбка](images/smilies/icon_smile.gif) ))
|
|
|
|
21.12.2016, 21:48
|
#6
|
Прохожий
Регистрация: 21.12.2016
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проблема с ADuC845, вывод данных через UART
В общем, кажется, понял необходимость установки бита. Странно, что нигде в учебниках ничего подобного не находил.
Спасибо.
А по таймерам что-то подскажите?
|
|
|
|
22.12.2016, 00:06
|
#7
|
Почётный гражданин KAZUS.RU
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,729
Сказал спасибо: 2,435
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
|
Re: Проблема с ADuC845, вывод данных через UART
Вот тут расписано хорошо.
|
|
|
Сказали "Спасибо" baiderin
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:08.
|
|