|
AT91sam7S128 UART для Keil, Как реализовать прерывание для UART в Keil. |
|
|
|
Apr 20 2011, 19:13
|
Группа: Новичок
Сообщений: 9
Регистрация: 12-05-08
Из: Феодосия
Пользователь №: 37 452

|
Приветствую. С ARM столкнулся 1 раз и как что плохо представлю. И так задача на один UART принимать не какие, данных их обрабатывать и передавать на 2 UART. Принимать данные на 1 по прерыванию. И вот тут и возникла проблема. Как это реализовать? Перебрал куча вариантов не один из них нормально не работает. Прерывание не возникает. Под IAR вроде как надо правильно прописать в Startup.c работу с прерываниями и разрешение глобального. А как это сделать в Keil?. Если есть возможность выложите пример для работы с прерыванием UART под Keil. Мои поиски в нэти и в examplax ни к чему не привели.
|
|
|
|
|
 |
Ответов
|
Apr 22 2011, 08:28
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Как минимум Код __irq void Usart0IrqHandler(void) а не Код unsigned int Usart0IrqHandler(void) Плюс нужно добавить запись EOICR.
|
|
|
|
|
Apr 22 2011, 11:09
|
Группа: Новичок
Сообщений: 9
Регистрация: 12-05-08
Из: Феодосия
Пользователь №: 37 452

|
Цитата(aaarrr @ Apr 22 2011, 11:28)  ... Плюс нужно добавить запись EOICR. Это в каком месте программы сделать и что именно записать. Насколько я понял его стоит менять только тогда, когда прерывание сработало. Иначе они оно будет обратно только один раз.
Сообщение отредактировал Cezar - Apr 22 2011, 11:09
|
|
|
|
|
Apr 22 2011, 11:14
|
Группа: Новичок
Сообщений: 9
Регистрация: 12-05-08
Из: Феодосия
Пользователь №: 37 452

|
Цитата(aaarrr @ Apr 22 2011, 14:10)  В конце обработчика прерывания. Записать что угодно. Да но оно у меня просто не возникает само перекрывание. Хотя если в ручную при симуляции поставь флаг RXBUF то оно возникает. Может я не прав но что бы программно симитировать что поступили данные делаюю следующее Код AT91C_BASE_US0->US_RHR = '1';
Сообщение отредактировал Cezar - Apr 22 2011, 11:17
|
|
|
|
|
Apr 22 2011, 11:26
|
Группа: Новичок
Сообщений: 9
Регистрация: 12-05-08
Из: Феодосия
Пользователь №: 37 452

|
Цитата(aaarrr @ Apr 22 2011, 14:19)  Данное действие смысла не имеет. RHR - это read-only регистр.  точно протупил. А какой тогда для этого регистр использовать? Или программно симитировать это не возможно?
Сообщение отредактировал Cezar - Apr 22 2011, 11:29
|
|
|
|
Сообщений в этой теме
Cezar AT91sam7S128 UART для Keil Apr 20 2011, 19:13 kovigor Цитата(Cezar @ Apr 20 2011, 23:13) Мои по... Apr 20 2011, 19:37 Cezar Цитата(kovigor @ Apr 20 2011, 22:37) Завт... Apr 20 2011, 21:46 aaarrr Цитата(Cezar @ Apr 20 2011, 23:13) Мои по... Apr 20 2011, 20:06 kovigor Цитата(aaarrr @ Apr 20 2011, 23:06) Вылож... Apr 20 2011, 20:25  aaarrr Цитата(kovigor @ Apr 21 2011, 00:25) Эта ... Apr 20 2011, 20:45   kovigor Цитата(aaarrr @ Apr 20 2011, 23:45) В том... Apr 20 2011, 20:54    aaarrr Цитата(kovigor @ Apr 21 2011, 00:54) Все-... Apr 20 2011, 21:00 Cezar И так мой код
Startup взят дефлотный который кеил... Apr 22 2011, 07:32 Cezar Цитата(aaarrr @ Apr 22 2011, 11:28) Как м... Apr 22 2011, 10:15  aaarrr Цитата(Cezar @ Apr 22 2011, 14:15) таким ... Apr 22 2011, 10:22 Cezar Теперь у меня по срабатыванию прерывания программа... Apr 24 2011, 18:45 aaarrr Цитата(Cezar @ Apr 24 2011, 22:45) Теперь... Apr 25 2011, 08:45  Cezar Цитата(aaarrr @ Apr 25 2011, 11:45) Вообщ... Apr 25 2011, 10:41
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|