реклама на сайте
подробности

 
 
> AT91SAM9G45 вывод данных посредством GPIO
Andrew_Freeman
сообщение Apr 13 2011, 04:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 23-09-07
Пользователь №: 30 771



Здравствуйте.

Требуется выводить битовый поток посредством GPIO со скоростью порядка 5 мегагерц в секунду
На текущий момент получается со скоростью 1.5 Мгц

На текущий момент задача решается в лоб:

Код
              if (tmp & 0x01) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
              if (tmp & 0x02) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
              if (tmp & 0x04) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
              if (tmp & 0x08) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
              if (tmp & 0x10) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
              if (tmp & 0x20) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
              if (tmp & 0x40) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
              if (tmp & 0x80) set(LED_SDI);  else   clr(LED_SDI);    set(LED_CLK); asm ("nop");  clr(LED_CLK);
...


Собственно интересует, существует-ли какой-либо быстрый ввод-вывод для данного семейства (fast IO).

И интересует, как работают прерывания от периферии в Linux - скорость перехода в прерывание, и возможность обработки этого прерывания в течение длительного времени (порядка десятков, максимум сотни мс).

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 21:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016