Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
gb_
0 / 0 / 0
Регистрация: 21.05.2016
Сообщений: 43
1

Регистр UDR ATtiny2313

05.06.2016, 11:15. Просмотров 865. Ответов 4
Метки нет (Все метки)

Посылаю байт на UART через виртуальный ком-порт, эмулирую в протеусе. Байт приходит, цикл отрабатывается но в итоге в переменной "one" совершенно иное значение, нежели было передано с ком-порта (передавал 0x31, выведя переменную получил 0x20). Что я делаю не так с чтением из этого чертового UDR регистра?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
UCSRA=0b00000000;
UCSRB=0b00010000; 
UCSRC=0b10000110;
UBRRH = 0; // установка скорости
UBRRL = 51;
char one;
while(1)
{
    while (!(UCSRA & (1<<RXC)));  // ожидание приема байта
           one = UDR;   // запись байта
            for (int n = 0; n<8; n++)   // вывод байта побитно на ногу PB1 с синхро
            {
            
            if(((one<<n)&0x80)==0x80) { //вывод 1
             PORTB = 0b00000010; _delay_ms(100);
             PORTB = PORTB^0x01; _delay_ms(10); //синхро на PB0
             PORTB = PORTB^0x01; _delay_ms(10); 
            
                                        } else {  
             PORTB = 0b00000000; _delay_ms(100); //вывод 0 
             PORTB = PORTB^0x01; _delay_ms(10); 
             PORTB = PORTB^0x01; _delay_ms(10); 
                                                }               
                    
            } 
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2016, 11:15
Ответы с готовыми решениями:

Работа с UART. Сбрасывается регистр UDR в эмуляторе
Приветствую! Пытаюсь понять работу USORT у Atiny2313. Ассемблерный код пишу в AVR студии. Во время...

tiny2313 UART проблема с готовностью UDR (UDRE)
Приветствую всех. Не могу найти причину проблемы с кодом приведенным ниже. Байты отправляются в...

Attiny2313
Прочитал документацию, там 4 шим порта(вывода), но вот не понял дальше, пишут что 1 какой-то для...

Proteus + Attiny2313
Здравствуйте в протеусе собрал небольшую схему: программу в контроллер добавил вот эту:...

Attiny2313 ЭДС
Такая проблема сложил щиток на мк attiny2313 , контроллер управляет тремя пускателями два из них...

4
pyzhman
809 / 499 / 70
Регистрация: 15.05.2012
Сообщений: 2,826
05.06.2016, 15:20 2
Для начала убедиться, что приходит именно то, что отправлено.
1
Voland_
1699 / 1043 / 98
Регистрация: 04.01.2010
Сообщений: 3,535
06.06.2016, 11:16 3
Лучший ответ Сообщение было отмечено gb_ как решение

Решение

Цитата Сообщение от gb_ Посмотреть сообщение
передавал 0x31, выведя переменную получил 0x20
правильно вам сказали, но проблема, скорее всего, в несответствии битрейта вашего уарта виртуального порта и USORT МК. Отсель нам не видно на какой частоте работает ваш контроллер, и откель вы взяли значение 0x51 для делителя USORT'а.

ЗЫ: эмпирически вы можете подобрать это значение и разобраться где проблема - если попробуете другие скорости, чтобы получить нужный результат (возьмите, например в 8 раз меньше для виртуального COM-порта . То есть если у вас 19200 - возьмите 2400. Ну и далее поймете где проблема.
2
gb_
0 / 0 / 0
Регистрация: 21.05.2016
Сообщений: 43
06.06.2016, 11:33  [ТС] 4
Разобрался, проблема была в настройке МК, там стоял программируемый делитель частоты на 8 DIV8. Отключил его и все заработало, спасиб!
0
Voland_
1699 / 1043 / 98
Регистрация: 04.01.2010
Сообщений: 3,535
06.06.2016, 12:18 5
Цитата Сообщение от gb_ Посмотреть сообщение
там стоял программируемый делитель частоты на 8 DIV8
молодцом! . Даже подсказывать не пришлось. Так держать!
1
06.06.2016, 12:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2016, 12:18

ATTiny2313 + TC0
Здравствуйте. Помогите советом, есть ATTiny2313 с частотой кварца 10Мгц. По прерыванию Таймера T0...

I2C Attiny2313
Возникла необходимость воспользоваться шиной I2C. С самой шиной разобрался. Как, что и куда слать...

Мелодии на Attiny2313
Здравствуйте форумчане. Стоит задача отыграть 1-2 мелодий, имея МК attiny2313 и динамик....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru