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

 
 
> AT91SAM7S новичок
Xeon
сообщение Dec 19 2011, 06:35
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 140
Регистрация: 21-04-11
Пользователь №: 64 524



Всем доброго времени суток!!! Имеется платка с AT91SAM7S. Подскажите пожалуйста как использовать прерывания или где посмотреть, примеры.
Очень буду признателен!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xeon
сообщение Dec 20 2011, 09:11
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 140
Регистрация: 21-04-11
Пользователь №: 64 524



Закоментил потому что в примерах нету __irq а вроде прерывание используется...
Сейчас ток запустил... к тому коду добавил следующее:
в конец обработчика прерывания строку
AT91C_BASE_AIC->AIC_EOICR = 0;
и раскоментил __irq
в сумме получил следующий код:

Код
#include <at91sam7s128.h>

extern "C" {
#include "Led.h"
}

unsigned char send_val = 0xA0;

void Usart_TX(void) __irq //!!!!!!!!!!!!!!!!!!! тут раскоментил !!!!!!!!!!!!!!!!!!!!!!!!!!!
{
     unsigned int status;
        // Read USART status
        status = AT91C_BASE_US0->US_CSR;

    if(status & AT91C_US_TXEMPTY)
    {
        AT91C_BASE_US0->US_THR = (unsigned short) send_val;
        send_val++;
    }
    AT91C_BASE_AIC->AIC_EOICR = 0; // !!!!!!!!! тут добавил !!!!!!!!!!!!!!!!!!!!!!!!!!
}

int main(void)
{
    // Configure PIO
    AT91C_BASE_PIOA->PIO_ASR = AT91C_PIO_PA6;
        AT91C_BASE_PIOA->PIO_PDR = AT91C_PIO_PA6;
    AT91C_BASE_PIOA->PIO_OER |= AT91C_PIO_PA6;

    // Enable usart
    AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_US0;
    // Reset and disable receiver & transmitter
        AT91C_BASE_US0->US_CR = AT91C_US_RSTRX | AT91C_US_RSTTX | AT91C_US_RXDIS | AT91C_US_TXDIS;
        // Configure mode
    AT91C_BASE_US0->US_MR = AT91C_US_USMODE_NORMAL | AT91C_US_CHRL_8_BITS | AT91C_US_PAR_NONE;
        // Configure baudrate
        // Asynchronous, no oversampling
        AT91C_BASE_US0->US_BRGR = 104;

    // Enable interrupt
    AT91C_BASE_US0->US_IER                         = AT91C_US_TXEMPTY;
    AT91C_BASE_AIC->AIC_IDCR                     = 1 << AT91C_ID_US0;
    AT91C_BASE_AIC->AIC_SMR[AT91C_ID_US0]        = 0;
    AT91C_BASE_AIC->AIC_SVR[AT91C_ID_US0]         = (unsigned int) &Usart_TX;
    AT91C_BASE_AIC->AIC_IECR                     = 1 << AT91C_ID_US0;
    // Clear interrupt
        AT91C_BASE_AIC->AIC_ICCR = 1 << AT91C_ID_US0;

    // enable rx and tx
    AT91C_BASE_US0->US_CR = AT91C_US_TXEN | AT91C_US_RXEN;


    // Leds
    Led_Init();    


    while(1)
    {
        Blink();
    }
}


И УРА заработало!))))

Я скинул пример который смотрел и свой проект, может кто посмотрит как они там делают...пользовался поиском по всему проекту в попытке найти __irq ничего подобного там нет (в примере).

Мой код: Прикрепленный файл  1.rar ( 131.89 килобайт ) Кол-во скачиваний: 75


Пример: Прикрепленный файл  basic_usart_hw_handshaking_project_at91sam7s_ek_keil.zip ( 266.9 килобайт ) Кол-во скачиваний: 79


В примере открывал проект: basic-usart-hw-handshaking-project-at91sam7s-ek\at91sam7s-ek\basic-usart-hw-handshaking-project\uv2\at91sam7s128.uvproj
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Xeon   AT91SAM7S новичок   Dec 19 2011, 06:35
- - Lotor   Вероятнее всего с Вашей платкой примеры и идут. P...   Dec 19 2011, 06:45
|- - Xeon   Цитата(Lotor @ Dec 19 2011, 10:45) Вероят...   Dec 19 2011, 06:46
|- - Lotor   Цитата(Xeon @ Dec 19 2011, 10:46) Платку ...   Dec 19 2011, 06:56
|- - Xeon   Цитата(Lotor @ Dec 19 2011, 10:56) Но зад...   Dec 19 2011, 07:00
|- - Lotor   Цитата(Xeon @ Dec 19 2011, 11:00) Буду оч...   Dec 19 2011, 07:09
- - Xeon   Lotor Спасибо!!!   Dec 19 2011, 08:01
- - kovigor   Цитата(Xeon @ Dec 19 2011, 09:35) Всем до...   Dec 19 2011, 09:25
- - Xeon   Получается что в AT91SAM7S может использоваться 32...   Dec 20 2011, 03:35
- - Xeon   Люди а как правильно делать выход из прерывания? А...   Dec 20 2011, 05:56
- - toweroff   посмотрите документацию на контроллер прерываний в...   Dec 20 2011, 06:00
|- - Xeon   Цитата(toweroff @ Dec 20 2011, 09:00) пос...   Dec 20 2011, 06:02
|- - toweroff   Цитата(Xeon @ Dec 20 2011, 10:02) Т.е. ав...   Dec 20 2011, 06:18
- - Xeon   Спасибо toweroff! А как правильно в keil дела...   Dec 20 2011, 06:28
|- - Lotor   Цитата(Xeon @ Dec 20 2011, 10:28) Спасибо...   Dec 20 2011, 06:50
|- - Xeon   Цитата(Xeon @ Dec 20 2011, 09:28) Спасибо...   Dec 20 2011, 07:06
|- - Lotor   Цитата(Xeon @ Dec 20 2011, 11:06) Если эт...   Dec 20 2011, 07:25
||- - Xeon   Цитата(Lotor @ Dec 20 2011, 10:25) Тем не...   Dec 20 2011, 08:45
|- - kovigor   Цитата(Xeon @ Dec 20 2011, 11:06) книга-б...   Dec 20 2011, 09:21
|- - Xeon   Цитата(kovigor @ Dec 20 2011, 12:21) Ложь...   Dec 20 2011, 09:29
- - toweroff   выкладывайте... так сложно сказать   Dec 20 2011, 06:47
- - toweroff   а зачем __irq закоментили? и где сброс флага преры...   Dec 20 2011, 08:49
- - Xeon   Возникла ещё одна проблема)... Создас файлики Pro...   Dec 21 2011, 07:40
- - Lotor   Вы для кучи память выделили же?   Dec 21 2011, 07:55
- - Xeon   Опа...) нет...) а как это сделать?)   Dec 21 2011, 08:00
|- - Lotor   Цитата(Xeon @ Dec 21 2011, 12:00) Опа...)...   Dec 21 2011, 08:11
|- - Xeon   Цитата(Lotor @ Dec 21 2011, 11:11) Если у...   Dec 21 2011, 08:15
|- - toweroff   Цитата(Xeon @ Dec 21 2011, 12:15) А какой...   Dec 21 2011, 08:18
|- - Xeon   Цитата(toweroff @ Dec 21 2011, 11:18) а э...   Dec 21 2011, 08:46
|- - aaarrr   Цитата(Xeon @ Dec 21 2011, 12:46) Как я п...   Dec 21 2011, 09:10
|- - Xeon   Цитата(aaarrr @ Dec 21 2011, 12:10) Нужно...   Dec 21 2011, 09:32
|- - aaarrr   Цитата(Xeon @ Dec 21 2011, 13:32) А как в...   Dec 21 2011, 09:54
- - Xeon   Возникла следующая ситуация (смотрел стандартным о...   Dec 22 2011, 07:28
- - Lotor   А зачем в Вашем случаи делать глобальные переменны...   Dec 22 2011, 08:35
|- - Xeon   Цитата(Lotor @ Dec 22 2011, 11:35) А заче...   Dec 22 2011, 08:42
|- - Lotor   Цитата(Xeon @ Dec 22 2011, 12:42) Может п...   Dec 22 2011, 08:47
- - Xeon   Только что создал новый проект... в нем 3 файла pp...   Dec 22 2011, 09:01
|- - Lotor   Цитата(Xeon @ Dec 22 2011, 13:01) Ну и та...   Dec 22 2011, 09:03
- - Xeon   Ну и ещё одно... разве стандарт С требует при объя...   Dec 22 2011, 09:06
- - Lotor   Цитата(Xeon @ Dec 22 2011, 13:06) Ну и ещ...   Dec 22 2011, 09:09
- - Xeon   Цитата(Lotor @ Dec 22 2011, 12:09) По-мое...   Dec 22 2011, 09:24


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

 


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


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