roboforum.ru

Технический форум по робототехнике.
Текущее время: 05 ноя 2024, 08:19

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 57, 58, 59, 60, 61, 62, 63 ... 144  След.
Автор Сообщение
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 17 фев 2009, 22:56 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Всё, разобрался, в коде проблемка была. Теперь все прекрасно разгоняется и тормозится :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 19 фев 2009, 08:15 
Не в сети

Зарегистрирован: 18 фев 2009, 11:07
Сообщения: 2
Откуда: Байконур
Название Часики реального времени
Язык Си
Компилятор CVAVR
CPU ATmega16

Хочу сделать часы реального времени по примерам из cvavr (апноут123). Чтобы на терминал в proteus выводились. И чет не получается! Посмотрите исходник, мужики, кто знает подскажите, как правильно.


Вложения:
test.rar [2.35 КиБ]
Скачиваний: 17
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 19 фев 2009, 15:07 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Выкладывать надо весь проект для компилятора и весь проект для протеуса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 17:38 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Концептуальный вопрос: где лучше всего обрабатывать прием команд из USART'а? Я делаю пока в основном бесконечном цикле(в main'е), как правильно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 17:49 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Лучше для кого? Или для чего?

Я делаю по прерываниям, с буферизацией. И 2 функции - uart_available() и uart_receive(). Первая возвращает количество байт в буфере приемника, вторая - очередной байт из буфера. В принципе и разбор команд можно делать в прерывании (только не все сразу, а после получения каждого байта, например конечным автоматом), а основная программа будет получать уже разобранную команду.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 18:09 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
blindman писал(а):
Лучше для кого? Или для чего?

Лучше "вообще" :)
blindman писал(а):
Я делаю по прерываниям, с буферизацией.

У меня обработка опросом:
//usart polling, get command and analyse
int usart_polling(void)
{
if (getchar()== COMMAND)
{
....
Эта функция вытаскивает по символу и обрабатывает. Сама она вызывается в main'е в бесконечном цикле. Вот хочу знать насколько это критично. Можно ли так оставить?

А вы говорите в прерывании, а в каком? По концу приема которое?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 18:18 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Да, по концу приема. Лучше "вообще" - именно по прерываниям. Лучше в твоем случае - не скажу, зависит от задачи, от того чем занят процессор и т.п. Вполне возможно, что для тебя будет лучше то, что проще реализовать.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 18:33 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Ну пока проц занят только приемом команд от компа и в зависимости от команды - меняет ШИМ на моторе и направление вращения. Будет занят стандартными вещами: ШИМ на мотор, управление сервой и анализ ИК датчиков.


Последний раз редактировалось realsystem 20 фев 2009, 18:35, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 18:34 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
А у меня стоит RTOS и одна из задач ожидает прихода символа по UART.
И когда символ приходит вызывает прерывание, а уже в прерывании символ записывается в буфер и посылается событие задачи.
Задача выходит из ожидания и собирает символы в команду.

При такой работе обработчика команд не возникает пауз во время приёма или передачи и остальные задачи работают без рывков...

Самый яркий пример эффективности такого способа - это вывод списка команд на экран размеров в 2кБ.

Раньше весь МК занимался передачей. Если буферизировать вывод, то всё равно не будеш же делать буфер в 2кБ.

А с RTOS список выводится в фоне работы других задач и МК 90% свободен :good:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 18:37 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
А какая РТОС? На каком проце?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 18:38 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
RTOS от Keil-а.

А процессор LPC2131.
Но у АВР-ок тоже есть ОС-ки свои...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 18:46 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Понятно, я кстати загнался по поводу того что сказал выше. Прием с компа я делаю в буферы по прерыванию (из курса взял), а вот опросом (функцией выше которая) вытаскиваю команды из буфера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 21:42 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
RoboTok писал(а):
А с RTOS список выводится в фоне работы других задач и МК 90% свободен :good:


RTOS для этого не нужна.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 22:49 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Ну да, в принципе просто ОС нужна мультизадачная


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 20 фев 2009, 22:59 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
blindman
И как можно вывести в UART строку текста длинной больше буфера отправки символов в UART без задержки других задач ?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 57, 58, 59, 60, 61, 62, 63 ... 144  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO