Архив старого форума

Это архив старого форума !—sp-forum—
Этот форум в настоящее время закрыт — только для чтения
Чтобы оставлять сообщения, авторизуйтесь Вход

Поиск в форумах:


 




Помогите с Usart

ПользовательСообщение

22:27
9 Февраль 2010


LubavaKaluga

Только пришел

сообщений 21

1

Помогите с Usart
я тут делаю АЦП, который отсылает 4 байта в комп, так вот
посылка у меня состоит из 4х байтов , 2 стоп бита.
можете проверить пожалуйста правильно ли я всё инициализировал(кварц 4мегагерца, скорость хочу получить 9600борд)
;=========================Inicializ uart=============
Ldi temp ,0b00001011
out UCSRC,temp
LDI temp,0
OUT UCSRA, R16
LDI temp, (0<<RXEN)|(1<<TXEN)|(0<<RXCIE)|(0<<TXCIE)

OUT UCSRB, temp

ldi temp,25
out UBRRH,temp (вот здесь не ясно, куда отправлять 25 в UBRRH или UBRRL-поидее в UBRRL)?????????

потом Отпрака байтов

mov temp,YL
rcall USARTTransmit
mov temp,YH
rcall USARTTransmit
mov temp,XL
rcall USARTTransmit
mov temp,XH
rcall USARTTransmit
;========================================================
;=========================USART==========================
;@@@@@@@@@@@@@@@Podprogram@@@@@@@@@@@@
;==============Transmiting============
USARTTransmit:
sbis UCSRA,UDRE
rjmp USARTTransmit
cbi UCSRB,TXB8
sbrc USART0,0
sbi UCSRB,TXB8
out UDR,temp
ret
Так вот вопрос будет у меня всё тип — топ или нет?
Заранеее спасибо.

17:13
16 Март 2010


osc

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

сообщений 1

2

Если не ошибаюсь, то
Ldi temp ,0b00001011
out UCSRC,temp
соответствует 6 бит.

Установка скорости
ldi temp,0
out UBRRH,temp
ldi temp,25
out UBRRH,temp

Кварц я бы взял 3.8432 МГц, чтоб лишних проблем со скоростью не было.

Да, какой чип, хоть USART у всех похожий, но все же.

 


11 thoughts on “Архив старого форума”

  1. Доброго времени суток.У меня тоже была такая ситуация :купил графический дисплей за 19.50 грн. ,пришел домой,начал искать информацию про дисплей но кроме надписи на дисплее D1560T01 ничего не нашел.В конце концов пошел обратно в магазин и они мне скинули документацию про дисплей http://files.mail.ru/ZD50R7

      1. это я отвечал человеку который искал какую нибудь информацию про дисплей D1560T01.После ответа увидел, что он интересовался еще в 2009 году…)))

        1. Самое забавно, что ответ он не увидит. Т.к. он появится не в форуме (который закрыт), а в комментах к странице куда приткнуть вообще весь форум. Получается голос в пустоту :)

  2. печально…тогда в ЛС что ли написать,хотя за два с копейками года он наверное забыл про свой вопрос .

  3. Добрый вечер, сенсеям программирования! я кнешно еще нубас и только учусь. но у меня вопрос. Я преобрел демоплату в.2 и начал программировать. написал простецкую прогу: «нажал на кномку с пинки 1 и вкл. диод на пинке 2», но почему-то она не работает :(

    Вот код
    #include

    int main(void)
    {
    DDRC = 0x00; //порт С на вход
    PORTC = 0xFF; //подключаем нагрузочные резисторы

    DDRB = 0xFF; //порт B на выход
    PORTB = 0x00; //устанавливаем нули на выходе

    while(1)

    {
    if ((PINC&(1 << PC2)) == 1) //проверяем нажатие кнопки
    { PORTB &(1 << PB0);} //включаем светодиод
    else
    {
    PORTB &= ~(1 << PB0); //гасим светодиод
    }
    }
    }

    Писалась прога в АVR Studio4

    В ЧЕМ МОЙ КОСЯК?!

    Зарание спасибо!!!

    1. Перенеси на другой порт. НА порту С (точнее на четырех его пинах) сидят линии жтага TDI/TDO/TCK/TMS и по дефолту ты их как порты пользовать не можешь.

  4. Привет. Нужна помощь. Я новичок и полный профан в организации последовательных протоколов. Мне надо организовать на I2c управление с микроконтроллера электромеханическими приводами, точнее силовыми катушками. Не могу разобраться даже с необходимым оборудованием.
    Заранее спасибо.

    1. Я так думал: если при приеме байта потерялись биты и принимающий контроллер выдал флаги ошибок, то он будет ждать следующего старт бита нового байта и игнорить остальное , или по крайней мере как это реализовать?

Добавить комментарий

Ваш e-mail не будет опубликован.

Перед отправкой формы:
Human test by Not Captcha