Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

UART AVR прошу совета

Непрочитано 22.05.2009, 04:03  
v_fokuse
Прохожий
 
Регистрация: 22.05.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
v_fokuse на пути к лучшему
По умолчанию UART AVR прошу совета

доброго времени суток, всем читающим эту тему.
Я пишу диплом и перед мной поставлена задача запрограммировать МК,этим я раньше не занимался.
поэтому возникает множество вопросов, надеюсь здесь получить на них ответы и умные советы.


а вот и сама Задача:

1. Написать программу для микроконтроллера ATmega128L-8AU, принимающую и передающую данные по интерфейсу RS422.
Прием данных по стандарту NMEA 0183: $HEHDT, X.X,T*hh‹CR›‹LF› // стандарт для морской навигации ,скорость передачи 4800 бод, формат передачи 8 бит +1 стоп бит. f = 1МГц. Асинхронно.

Здесь я настраиваю USART0 использую CodeWizardAVR. Проблем вроде нет.(картинка настройки во вложении,внизу)
Дальше я сомневаюсь: Прием сигнала идет на одну ножку,я программирую DDRn=...(делаю ее входм),PORTn=....(подтяжку на нее) правильно, или надо еще какие нибудь настройки, чтобы прием данных шел только с одной ножки на USART0???

2. Преобразование входных данных о курсе в соответствующее значение sin α, cos α.
То есть если на входе α=45.5(курс ), то на выходе sin α= 0,7132; cos α= 0,7009;

Вопрос: - как получить данные из USART0, что бы записать их в переменную kurs???
- в то ли место я вставляю нижеследующий код???


Код:
while (1)
{
float kurs,sin_k,cos_k;

if(1)//проверка условия на корректность сигнала, пока не сделано
{
if ((kurs›=0)&&(kurs‹1))
{sin_k=0, cos_k=1};// преобразование курса в sin и cos
if [/color]((kurs›=1)&&(kurs‹2))
{sin_k=0.84,cos_k=0.54 };

...//и так далее проверка всего диапазона значений курса от 0 до 90.

if((kurs›=89)&&(kurs‹=90))
{sin_k=,cos_k=0.8939 };
}
else {};//если будет ошикба корректности,пока не сделано

};
Оптимальную ли я выбрал конструкцию сравнения?
И как далее передать значение sin и cos в буфер обмена???


3. Передача в формате 16 бит, причем последовательно!!! то есть сначала sin α на 16 ножек, потом cos α на эти же 16 ножек. И так каждый раз когда изменяется курс.(выходные сигналы поступают на 2 ЦАПа, так же в схеме используется демодулятор ,помоему, как раз для чередования выходных сигналов,но точно не уверен)
собственно, Как настроить такую передачу???

заранее спасибо.
___________________________________

-- Прилагается рисунок: --
Реклама:
v_fokuse вне форума  
Непрочитано 22.05.2009, 08:52  
vo1
Заблокирован
 
Регистрация: 05.12.2006
Сообщений: 4,031
Сказал спасибо: 169
Сказали Спасибо 386 раз(а) в 280 сообщении(ях)
vo1 на пути к лучшему
По умолчанию

HTML хорошо знаете.. и применяете..
Си, правда немого сложнее.. но ничего..
vo1 вне форума  
Непрочитано 22.05.2009, 18:28  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Для оформления прилагаемого кода используй тэг Code.
Смени название темы или удалю !!!!
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 22.05.2009, 21:48  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Зачем так грубо, котяра ?
Человек искренний на всю голову - иначе бы он зарегился бы под женским ником и все такое. лично я вообще не понимаю, что он хочет, это у нас vo1 экстрасенс...
urry вне форума  
Непрочитано 22.05.2009, 22:25  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Сообщение от urry
Зачем так грубо, котяра ?
.
Думаешь?
Мне сначала показалось что это авр123 косит под студента...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 22.05.2009, 23:00  
vo1
Заблокирован
 
Регистрация: 05.12.2006
Сообщений: 4,031
Сказал спасибо: 169
Сказали Спасибо 386 раз(а) в 280 сообщении(ях)
vo1 на пути к лучшему
По умолчанию


Люблю шутить..
Не обижаюсь, и если.. "шутят"..
Ибо это есть "иммунитет" от нашей "интересной" жизни.
...
Да, автор темы.. хочет.. и соответствует имхо своему логину.. ( И поэтому, надеюсь - тоже не обидится..).
И ничего плохого в этом нет, наоборот..
...
ЗЫ. Не против, если уважаемые модераторы посчитают мой пост ( или другие..) флудом.. и удалят его..
vo1 вне форума  
Непрочитано 24.05.2009, 14:41  
v_fokuse
Прохожий
 
Регистрация: 22.05.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
v_fokuse на пути к лучшему
По умолчанию

Сообщение от vo1
HTML хорошо знаете.. и применяете..
свой стиль в посте, я использовал исключительно, для выделения основных моментов, извините если перестарался...

Сообщение от dosikus
Для оформления прилагаемого кода используй тэг Code.
сделано
Цитата:
Смени название темы или удалю !!!!
сменил, но не понял чем не понравилось предыдущая тема("программа для диплома (help me)?")

Сообщение от urry
Человек искренний на всю голову ...
лично я вообще не понимаю, что он хочет, это у нас vo1 экстрасенс...
да, я действительно искренний.
И я хочу решить задачу которая написана выше, и что бы кто нибудь в этом мне помог. больше нечего.

Сообщение от dosikus
Мне сначала показалось что это авр123 косит под студента... icon_lol.gif
нет, я не авр123.

Сообщение от vo1
Люблю шутить.. icon_wink.gif
Не обижаюсь, и если.. "шутят".. icon_smile.gif
я то же, не обижаюсь.
v_fokuse вне форума  
Непрочитано 24.05.2009, 15:11  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Смени название на более информативное .
Помогите , хелп и т.д . удаляю .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 24.05.2009, 15:26  
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: прошу совета ...

Сообщение от v_fokuse
перед мной поставлена задача запрограммировать МК, этим я раньше не занимался.
ATmega128L
Как раз для начинающих с нуля я написал краткий курс - первые шаги самоучитель по AVR - http://avr123.nm.ru proavr.narod.ru
Там же во множестве - Библиотеки для скачивания книг на русском языке по микроконтроллерам и электронике, технике, навигации.

Значительно поможет вам в программировании и отладке супер программа PROTEUS ! - он моделирует работу электроники и микроконтроллеров - быстрый старт и скачать PROTEUS на - http://proteus123.narod.ru proteus123.narod.ru

Настройка USART в мастере кода CVAVR довольно проста - подробнее о программировании приема и передачи UART AVR в задаче 5 курса по AVR - http://avr123.nm.ru/z5.htm proavr.narod.ru/z5.htm


-- Прилагается рисунок скриншот мастера настройки AVR в CVAVR : --

kazus.run/nuke/users_images/22052009/4450847.jpg
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru

Последний раз редактировалось avr123-nm-ru; 01.03.2010 в 17:43.
avr123-nm-ru вне форума  
Непрочитано 24.05.2009, 16:48  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Из вашего первого поста я не понял ничего. Нарисуйте схему устройства квадратиками, что куда идет и зачем это нужно. Все, что я понял - вы не знаете, как вывести куда-то побайтно через уарт данные в формате флоат. Зачем в программе Вы делаете сравнение, если можно записать формулой - тоже вызывает недоумение.
Чтобы вывести побайтно флоат - я вижу 2 метода
1. Преабразуйте число в массив ASC символов и выводите побайтно каждый символ - число 31 будет записано как 0х33 0х31
2. Размер флоат - в зависимости от условий - 24 или 32 бита.
Через юнион
Код:
 union {
      struct{
             unsigned char l;
             }byte[4];
        float fl;
       }un;
un.fl=12.34;
for(i=0;i‹4;i++){
send_uart(un.byte[i].l);
}
urry вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу совета у практиков 12-220 bocem Источники питания и свет 43 13.09.2013 19:07
Прошу совета, эмуляция пзу godz320 Микроконтроллеры, АЦП, память и т.д 3 10.02.2009 12:32
Прошу небольшого совета Inola Микроконтроллеры, АЦП, память и т.д 7 25.04.2007 12:50
ATmega8535 и CodeVision... прошу совета !!! Виталий Микроконтроллеры, АЦП, память и т.д 1 30.09.2004 12:35


Часовой пояс GMT +4, время: 22:37.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.