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

 
 
 
Reply to this topicStart new topic
> STR91 и прерывания. SOS
koyodza
сообщение Feb 28 2007, 02:24
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744



как настроить прерывания например от таймера 3 в этом камне? У меня ситуация такая: вход в прерывание происходит, но только один раз. Потом или зависает, или ведет себя как будто это прерывание запрещено. С прерываниями от UART0 еще хуже: в окошке периферии VIC при настройке прерывания от UART0 вижу, что оно включается не как IRQ, а как FIC (при этом вектора нет), хотя настраиваю я его именно как IRQ.

Попутно еще один вопрос: в SSP FIFO можно как-то отключить? Мне сейчас SSP нужен только на ввод данных с внешнего АЦП, перед которым стоит мультиплексор. Получается, что между переключением канала и получением данных нужно сделать 8 чтений (точнее 8 записей и чтений). Или же получение данных будет запаздывать на 8 измерений.

Делаю первые шаги, а времени совсем нет. Помогите работающим МАКСИМАЛЬНО ПРОСТЫМ примером. Лучше всего чтобы кроме мигания светодиодом в прерывании ничего другого в проекте не было.
Go to the top of the page
 
+Quote Post
EKirshin
сообщение Feb 28 2007, 14:27
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904



Цитата(koyodza @ Feb 28 2007, 02:24) *
как настроить прерывания например от таймера 3 в этом камне? У меня ситуация такая: вход в прерывание происходит, но только один раз. Потом или зависает, или ведет себя как будто это прерывание запрещено. С прерываниями от UART0 еще хуже: в окошке периферии VIC при настройке прерывания от UART0 вижу, что оно включается не как IRQ, а как FIC (при этом вектора нет), хотя настраиваю я его именно как IRQ.


При обработке каждого прерывания нужно сбрасывать бит соответствующей периферии (обычно в регистре, относящемся к этой периферии). Еще нужно в конце обработки уведомить ядро, что прерывание было обработано, записав в регистры VAR0 и(или?) VAR1 что-либо (либо 0? - не помню).
Посмотрите пример обработки прервания в ассемблерном файле IRQ.s, входящем в состав библиотеки (его исходник должен быть в папке с библиотеками). Этот файл подключается библиотекой C, когда обработка прерываний настроена на "использование внешних обработчиков" в startup.s.
Go to the top of the page
 
+Quote Post

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

 


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


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