С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 51
1

Как в симуляторе "принять" байт по UART?

18.11.2012, 01:24. Показов 3984. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Вопрос такого плана... Как в симуляторе студии "принять" байт по UART? Т.е. например надо отладить прерывание по приему, а для этого надо как бы закинуть гипотетический байт в приемник. Чета я никак не могу понять как это сделать. С передатчиком проблем никаких, а с приемником вот застрял...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2012, 01:24
Ответы с готовыми решениями:

Принять через uart байт и записать его в память
Вобщем, если верить преподавателю, этот код надо немного переделать для желаемого эффекта .device...

Как по UART передать принять пару-тройку байт? Не могу стартануть
Всем привет! Есть устройство с UART интерфейсом. Любой терминальной программой я посьілаю запрос...

MS Comm как принять 1 байт
Поставил заворот (прд.-прм.) посылаю 1-14 байт(символов) не принимает как только посылаю 15 байт...

Как через serialport принять неизвестное количество байт
как через serialport принять неизвестное количество байт

6
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
18.11.2012, 01:47 2
Делаешь паузу в симуляции.
Выставляешь нужные биты во входном регистре UARTа, в регистре типа "буфер приема заполнен" и в регистре прерываний. Короче, читаем даташит на тему регистров, задействованных в UARTe - и выставляем их в студии. Потом шагаешь в симуляторе.
0
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
18.11.2012, 01:55 3
Цитата Сообщение от yr0407
... Как в симуляторе студии "принять" байт по UART? Т.е. например надо отладить прерывание по приему, а для этого надо как бы закинуть гипотетический байт в приемник. ...
Я просто эмулирую наступление события прерывания Rx Complete. Это значит, что в приемнике собрался байт и пора бы его обработать. Для этого жмем на чек- бокс RXC (бит 7 в регистре UCSRA), и через шаг попадаем в подпрограмму обработки прерывания.

Там прошагиваем сохранение регистров в стеке до строчки типа
Код
in tmp1_r,UDR         ;Считать байт из регистра данных приемника
Естественно, выполнив этот шаг, получим 0x00 во временном регистре, ибо мы ничего не принимали. Щелкаем на tmp1_r (у меня это R19) и вписываем в него нужное принятое значение.

Как- то так.
0
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
18.11.2012, 01:58 4
Еще круче - нарисовать схему в Протеусе, с виртуальным терминалом.
Внедрить в Студию плагин Proteus VSM.
Запустить Студию на отдадку, используя как платформу этот самый Proteus VSM.
И вводить на экране виртуального терминала нужные символы и отлаживать в студии.

Только там есть такой момент... Если что-то подзависнет, или вывалится "по аборту" - то виртуальыйн терминал останется висеть в системе процессом и может мешат далее.
0
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
18.11.2012, 02:01 5
Вопрос-то был про симулятор студии.
0
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
18.11.2012, 02:08 6
Я и говорю про симулятор Студии.
Только с отладочной платформой Proteus VSM.

Очень удобно отлаживать схемы с UART, кнопками, дисплеями и прочими интерактивными устройствами.

0
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 51
18.11.2012, 06:17 7
Огромное всем мерси... :) Про эмуляцию события я и сам подумал, но мне кажется несколько геморно это и не кошерно. А вот в сторону Proteus VSM я как-то и не подумал, хотя в курсе на счет этой возможности. Еще раз спасибо за помощь.
0
18.11.2012, 06:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2012, 06:17
Помогаю со студенческими работами здесь

Принять данные по UART, начиная с указанной позиции
Приветствую! Работаю в AtmelStudio 7 с мк Atmega8 Как можно организовать получение данных с...

Принять старший и младший байт
Не могу понять условие задачи - в массив необходимо положить сначала старший байт некого числа в...

Принять массив байт с \0 в середине
Глупый вопрос. Клиент передает несколько строк ASCII с \0 в конце в одном массиве байт. Первый байт...

Принять массив байт через сокет
Добрый вечер.. Есть соединение на сокетах. С сервера идут сообщения по 8 байт. Как их принимать...

Принять массив байт файла в контроллере
Проблема решена.

передача по UART 8 байт
Добрый день всем! Задача такая: - передать 8 байт в контроллер - распределить по регистрам -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru