Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

CodeVision передача в компьютер по прерыванию

Непрочитано 05.02.2015, 13:57  
andr_larr
Временная регистрация
 
Регистрация: 11.09.2007
Сообщений: 39
Сказал спасибо: 11
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
andr_larr на пути к лучшему
По умолчанию Re: CodeVision передача в компьютер по прерыванию

Возможно...
При формировании прерывания создаётся так-же блок с новым putchar.Он здесь в виде маленькой программы в которой явно видна работа с буфером.
Но по-моему в само тело прерывания он не входит.
А вот используется-ли новый вариант putchar или какой другой - вопрос.
А Вы что-б посоветовали для вывода строки явно использующий буфер ?

С уважением....
Реклама:
andr_larr вне форума  
Непрочитано 05.02.2015, 14:10  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: CodeVision передача в компьютер по прерыванию

Сообщение от andr_larr Посмотреть сообщение
А вот используется-ли новый вариант putchar или какой другой - вопрос.
Новый вариант putchar заменяет стандартного, но только в прямом обращении. Все остальные стандартные функции, работающие с УАРТом, работают напрямую с УДР. Поэтому, при необходимости форматированного вывода, вывожу в строку, а потом передаю эту строку своей функцией (с использованием визардовского путчара). Тогда через буфер и ждать не надо.
То же самое с вводом через УАРТ.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 05.02.2015, 14:43  
andr_larr
Временная регистрация
 
Регистрация: 11.09.2007
Сообщений: 39
Сказал спасибо: 11
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
andr_larr на пути к лучшему
По умолчанию Re: CodeVision передача в компьютер по прерыванию

Новый вариант putchar заменяет стандартного, но только в прямом обращении. Все остальные стандартные функции, работающие с УАРТом, работают напрямую с УДР. Поэтому, при необходимости форматированного вывода, вывожу в строку, а потом передаю эту строку своей функцией (с использованием визардовского путчара).(с)
---------------------------
А что получается с прерыванием ? Ведь по очистке УДР программа снова вернётся к прерыванию в основном теле прерывания.Или Вы переписываете саму подпрограмму прерывания ?
--------------------------------
То же самое с вводом через УАРТ.(с)
---------------------------
Здесь у меня пока проще.Мне на контроллер нужно принимать 4 байта.
Я из компьютера леплю к каждому признак начала а сзади признак конца.
Ну а потом анализирую приёмный буфер и если начало и конец совпали то передаю середину в переменную.

С уважением...
andr_larr вне форума  
Непрочитано 05.02.2015, 14:58  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: CodeVision передача в компьютер по прерыванию

Сообщение от andr_larr Посмотреть сообщение
А что получается с прерыванием ?
Вопрос, конечно, интересный... Помню, что были косяки и я отказался от стандартных функций, работающих на УАРТ. Подробности уже не помню - давно.
Сообщение от andr_larr Посмотреть сообщение
Я из компьютера леплю к каждому признак начала а сзади признак конца.
Этого не понял. Делаю так, как говорил ВиндоЗавру в параллельной теме. Все в АСКИ, соответственно, пакету можно дать нешестнадцатиричный признак начала (любая нецифра). Он же может быть командой, остальное в пакете - данные. Конец, для наглядности в терминалке, 0x0d 0x0a.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 05.02.2015, 15:58  
andr_larr
Временная регистрация
 
Регистрация: 11.09.2007
Сообщений: 39
Сказал спасибо: 11
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
andr_larr на пути к лучшему
По умолчанию Re: CodeVision передача в компьютер по прерыванию

Все в АСКИ, соответственно, пакету можно дать нешестнадцатиричный признак начала (любая нецифра). Он же может быть командой, остальное в пакете - данные. Конец, для наглядности в терминалке, 0x0d 0x0a.[/QUOTE]
----------------------
Ну где-то так-же...У меня числа маленькие - однобайтные.
И в компьютерной программе есть блоки куда эту цифирь можно прилепить.
Плюс в блоках можно установить что прилепить к сей цифре справа и слева.4 таких блока - в каждом устанавливаю своё начало и конец.
Они могут вешаться на один порт - главное чтоб одновременно не работали.
Посылаю цифру.Она с прилеплеными началом\концом прибегает в контроллер попадая в буфер.Буфер анализирует начало.Если одно из 4 - разрешает дальше в буфер писать.Нет - посылает нафиг.Когда совпало начало - разрешает приём ещё 2-х байтов.Последний анализирует.Если правильный конец - средний байт в зависимости от значения начала передаёт в соответствующюю одну из 4-х переменных.
Всё в 16-и ричном коде.
Есть модули и для передачи строк (в АСКИ) - попробовал-работают.Но пока не нужны...
А вот в компьютер да,надо передавать довольно много 16-и битных чисел.Почему и возник вопрос с передачей...

С уважением...

Последний раз редактировалось andr_larr; 05.02.2015 в 19:35.
andr_larr вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу пример uart для mega в codevision code-by Микроконтроллеры, АЦП, память и т.д 2 04.01.2011 12:20
AVR Butterfly evaluation kit - передача данных по СОМ порту ramilkazus Микроконтроллеры, АЦП, память и т.д 5 27.06.2009 23:15
Tiny 15L & CodeVision Beduin Микроконтроллеры, АЦП, память и т.д 3 24.08.2007 09:23
CodeVision Проблеммы при программе более 50% памяти Andrewg Proteus, KiCAD и другие ECAD 2 07.08.2007 17:20
[Решено] Помогите с символьной отладкой в Proteus + CodeVision Ku Proteus, KiCAD и другие ECAD 0 04.07.2005 18:40


Часовой пояс GMT +4, время: 17:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.