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

 
 
> AT90CAN128: при приеме USART1 в UDR1 биты в обратном порядке!, это что такое?!
ARV
сообщение Dec 14 2011, 11:03
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



принимаю байты USART1 на скорости 9600. осциллографом смотрю - передается 0x01, вывожу из UDR1 в PORTA - вижу в порту 0x80. и так любые числа - биты идут в обратном порядке!

что PORTA разведен правильно - убедился. что биты передаются в правильном порядке (сначала младший) - убедился...

че за хня творится?! че делать?!


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Dec 14 2011, 11:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



А как Вы "видите", что передается именно 0х01 а не 0х80 ?


--------------------
Go to the top of the page
 
+Quote Post
ARV
сообщение Dec 14 2011, 11:49
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(prottoss @ Dec 14 2011, 15:09) *
А как Вы "видите", что передается именно 0х01 а не 0х80 ?


я смотрю осциллографом на то, что приходит на RX1: вижу провал из 1 в 0 - это старт, затем вижу скачок в 1 и снова в 0 - уже до конца фрейма. т.е. передается единственный бит, который виден в начале фрейма. когда вывожу принятый байт в порт, вижу это единственный ненулевой бит в старшем разряде sad.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 15 2011, 04:34
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(ARV @ Dec 14 2011, 14:49) *
я смотрю осциллографом на то, что приходит на RX1: вижу провал из 1 в 0 - это старт, затем вижу скачок в 1 и снова в 0 - уже до конца фрейма. т.е. передается единственный бит, который виден в начале фрейма. sad.gif
Может Вы перепутали что нибудь.
http://www.maxim-ic.com/app-notes/index.mvp/id/2141
Ведь логической единичке соответствует низкий уровень, а нулю высокий.
Таким образом описанная вами картинка (без старт-стоп) соответствует:
Вы видите:10000000
LSB FIRST 01111111
MSB FIRST 11111110 = 0xfe

Если мне мой склероз не изменяет.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
GDI
сообщение Dec 15 2011, 06:06
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата(demiurg_spb @ Dec 15 2011, 08:34) *
Может Вы перепутали что нибудь.
http://www.maxim-ic.com/app-notes/index.mvp/id/2141
Ведь логической единичке соответствует низкий уровень, а нулю высокий.

Да не, всё верно у него, инверсия получается только после RS232 буферов, а тут чистый УАРТ, где 5В - это "1", а 0В - "0".


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 01:25
Рейтинг@Mail.ru


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