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

 
 
> at91sam7s64 + USART... как правильно настроить?, док вроед прочитал но не работает...
Mozart
сообщение Aug 27 2007, 14:36
Сообщение #1


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

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



Код
volatile AT91PS_PIO    pPIO = AT91C_BASE_PIOA;
pPIO->PIO_ASR |= (1 << 6);
pPIO->PIO_OER = (1 << 6);

volatile AT91PS_USART pUS1 = AT91C_BASE_US1;
    
    pUS1->US_MR |= AT91C_US_CHRL            /*8 bits*/
                  |AT91C_US_PAR_NONE        /*no parity*/
                  |AT91C_US_NBSTOP_2_BIT    /*2 stop bits*/
                  |AT91C_US_OVER            /*8x oversampling*/
                  |AT91C_US_INACK;

    pUS1->US_CR &= ~AT91_US_TXDIS;
    pUS1->US_CR |= AT91_US_TXEN;
    
    //pUS1->US_BRGR = 60;
    pUS1->US_BRGR = 30;

настроил так скажите пжлста так ли, а то совсем закопался...


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_dem
сообщение Sep 5 2007, 09:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 2-02-07
Из: CN, Ukraine
Пользователь №: 24 970



у вас отладчик работает ? что в регистре статуса уарта после записи байта в THR ?

и зачем это :

maskPIO = pPIO->PIO_OSR | (1 << 6) | (1 << 22);
pPIO->PIO_OER = maskPIO; //output USART

?

вот моя последовательность запуска уарта (IAR):

Код
        AT91C_BASE_PMC->PMC_PCER = (1 << self->USART_ID);        
        
        /* Reset and disable receiver */
    self->USART->US_CR = AT91C_US_RSTRX | AT91C_US_RSTTX;

        /* Disable interrupts */
        self->USART->US_IDR = 0xFFFFFFFF;

        self->USART->US_MR = AT91C_US_MAX_ITER | AT91C_US_CLKS_CLOCK | AT91C_US_NBSTOP_1_BIT | AT91C_US_PAR_NONE | AT91C_US_CHRL_8_BITS;

    self->USART->US_BRGR = 320;

        AT91F_US_EnableTx(self->USART);
        AT91F_US_EnableRx(self->USART);    
        
    /* Disable the RX and TX PDC transfer requests */
    self->USART->US_PTCR = AT91C_PDC_RXTDIS;
    self->USART->US_PTCR = AT91C_PDC_TXTDIS;


Сообщение отредактировал _dem - Sep 5 2007, 09:43
Go to the top of the page
 
+Quote Post
Mozart
сообщение Sep 5 2007, 10:25
Сообщение #3


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

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



если честно под отладчиком не смотрел, просто "прошивал"... ссылаясь на то что оно работает...
сейчас посмотрел под отладчиком во-первых, почему-то после записи в US_THR значения, переходил к функции LowLevelInit(), во-вторых, почему-то не показывает изменения в регистрах... но переписав цикл вайл и превратив его в такой вид
Код
    while(1)
    {
        pPIO->PIO_SODR |= LED_MASK;
    
        //for(qwe = 0; qwe < 100000; qwe++);
        
        pPIO->PIO_CODR |= LED_MASK;
        
        //for(qwe = 0; qwe < 100000; qwe++);

        //while (!(pUS1->US_CSR & AT91C_US_TXRDY));
        for (qwe = 0; qwe < 100; qwe++);
        pUS1->US_THR = 0x1CC;    //transmit char to PC!!!
        
    }

теперь не переходит к LowLevelInit()....
в регистре US_CSR находится 111100000001101000011010 вот это вота... но мне почему-то кажется, что это всё от лукавого...

на 22ой ноге появились признаки жизни... но до разъёма не доходит... это я сейчас разберусь... но есть такой вопрос а собственно в доске at91sam7s-ek фирмешной от атмеля... косяки могут быть???


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Mozart   at91sam7s64 + USART... как правильно настроить?   Aug 27 2007, 14:36
- - a3r3   ЦитатаpPIO->PIO_ASR |= (1 << 6); Читать w...   Aug 27 2007, 15:41
- - Mozart   Цитата(a3r3 @ Aug 27 2007, 19:41) Читать ...   Aug 28 2007, 16:17
|- - a3r3   Цитата(Mozart @ Aug 28 2007, 20:17) всмыс...   Aug 28 2007, 17:24
|- - AlexBoy   Цитата(Mozart @ Aug 28 2007, 19:17) всмыс...   Aug 28 2007, 18:07
|- - Mozart   что-то нифига не получается смотрел осцилом ничего...   Aug 29 2007, 11:43
|- - Сергей Борщ   Цитата(Mozart @ Aug 29 2007, 14:43) что-т...   Aug 29 2007, 15:52
|- - Mozart   Цитата(Сергей Борщ @ Aug 29 2007, 19:52) ...   Aug 29 2007, 16:46
- - Mozart   ЦитатаЭто: pPIO->PIO_ASR |= (1 << 6); Чт...   Aug 28 2007, 17:28
- - Mozart   люди, что делаю не так??? вот код начальной инициа...   Sep 5 2007, 07:47
- - _dem   pPMC->PMC_PCER = (1 << AT91C_ID_US1)|(1 ...   Sep 5 2007, 08:02
|- - Mozart   Код pPMC->PMC_PCER = (1 << AT91C_...   Sep 5 2007, 09:23
- - _dem   Косяки вряд ли - все-таки у многих эта плата и ник...   Sep 5 2007, 11:49
- - Mozart   может быть джампер где-то поставить надо... потому...   Sep 5 2007, 12:00
- - _dem   какая у вас плата (точное название и ревизия) ? на...   Sep 5 2007, 12:37
- - Mozart   at91sam7s-ek вот ссылка на неё...   Sep 5 2007, 12:44
- - _dem   сэр, согласно http://www.atmel.com/dyn/resources/...   Sep 5 2007, 12:53
- - Mozart   вот что значит не уметь читать... а что исходник м...   Sep 5 2007, 13:25
- - _dem   мдя, они это любят... как доберетесь до SPI или, н...   Sep 5 2007, 13:27
- - Mozart   а я ведь доберусь до SPI!!! пускай пут...   Sep 5 2007, 13:39


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

 


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


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