Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

avr ~8mhz usart baud 115200

Непрочитано 06.02.2013, 01:03  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

Что творится на форуме? Прямо злой UART вирус гуляет по просторам флеш памяти.
Реклама:
Easyrider83 вне форума  
Непрочитано 06.02.2013, 01:15  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

pripoy08, наверно где то есть проблема, которая не дает вам жить. Ведь у остальных с самыми различными мегами все в порядке. Например у меня. 8/8L, 16L, xmega32a4, at90usb162, да и еще были какие то.. 115200 - обычно.
whoim вне форума  
Непрочитано 06.02.2013, 09:47  
alvadep
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

pripoy08, и у меня аналогично, холодильник не работает. Что с ним не так?

Если хотите чтобы Вам помогли разобраться, давайте полный набор исходных данных (какой драйвер используете, какой МК, кусок соответствующего кода и т.д. и т.п.). А в угадайку никто играть не будет, будут одни подколы.
alvadep вне форума  
Непрочитано 13.02.2013, 21:56  
pripoy08
Частый гость
 
Регистрация: 20.04.2009
Сообщений: 17
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
pripoy08 на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

Спасибо большое!
Использовал мегу 16! кварц пробовал 7.3728 и 14.7456.
за исходник не ругайте! суть такова, увеличиваю значение переменной на 1 и отправляю. переменная char. а в терминале смотрю принятые байтики! в протэусе все отлично работает!

#pragma vector=USART_TXC_vect
__interrupt void my_pr2(void)
{

while (!TESTBIT(UCSRA,5))
{

}

UDR=qq;
qq++;

}

// сама настройка, несколько вариантов скоростей!
UCSRB=72;
SETBIT(UCSRC,7);
UCSRC=6;
CLEARBIT(UCSRC,7);
UBRRH=0;
UBRRL=95;//9 600
//UBRRL=7;//115,2 (14,7)

Последний раз редактировалось pripoy08; 13.02.2013 в 21:59.
pripoy08 вне форума  
Непрочитано 13.02.2013, 22:50  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

pripoy08, чего за среда? кейл какой нить?
пробуйте по аналогии, нагуглено но вроде похоже на правду
Код:
#include ‹avr/io.h›
#include ‹avr/interrupt.h›      

#define FOSC 8000000L//Тактовая частота
#define BAUD 9600L //Скорость порта
#define MYUBRR FOSC/16/BAUD-1
   
void USART_Transmit( unsigned char data );
void USART_Init( unsigned int ubrr);

//Обработка прерывания чтения USART
ISR(USART_RXC_vect)
 {
  int b;
  b = UDR;
  USART_Transmit(b);//Отправляем то, что получили
  }
 
 
  //Инициализация модуля USART
  void USART_Init( unsigned int ubrr)
  {
                //Задаем скорость работы USART
                UBRRH = (unsigned char)(ubrr››8);
                UBRRL = (unsigned char)ubrr;
   
                UCSRB=(1‹‹RXEN)|( 1‹‹TXEN); //разращён прием и передача
                UCSRB |= (1‹‹RXCIE); //прерывание при чтении
               
                //URSEL,UMSEL=0 асинхронный,UPM01=0 Parity нет, USBS=0 1 стоп бит,UCSZ012 = 3 8бит данных 
                UCSRC=(1‹‹URSEL)|(0‹‹UMSEL)|(0‹‹UPM1)|(0‹‹UPM0)|(0‹‹USBS)|(0‹‹UCSZ2)|(1‹‹UCSZ1)|(1‹‹UCSZ0);               
  }
 
 
  //Функция отправки данных
  void USART_Transmit( unsigned char data ) 
  {
  while ( !(UCSRA & (1‹‹UDRE)) ); //Ожидание опустошения буфера приема
  UDR = data; //Начало передачи данных
  }
 
 
  int main(void)
  {
  sei();//разрешаем прерывания
 
  while(1)//вечный цикл
  {  }  }
whoim вне форума  
Непрочитано 14.02.2013, 19:21  
pripoy08
Частый гость
 
Регистрация: 20.04.2009
Сообщений: 17
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
pripoy08 на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

[QUOTE=whoim;597785]pripoy08, чего за среда? кейл какой нить?


среда IAR. пробовал и нагуглинное и исходники других людей. дело кроется походу в самом железе, в задержках каких-то. Соберу плату на меге 64 с отладчиком, буду смотреть!
спасибо!
pripoy08 вне форума  
Непрочитано 15.02.2013, 10:22  
mlit
Временная регистрация
 
Регистрация: 14.10.2009
Сообщений: 77
Сказал спасибо: 11
Сказали Спасибо 43 раз(а) в 19 сообщении(ях)
mlit на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

Мужики, разрешите пукнуть вдогонку (не открывать же новую тему), может кто видел 2-й программный UART на простой MeGA 8, 16 и т.п. Спасибо.
mlit вне форума  
Непрочитано 15.02.2013, 16:45  
Probelzaelo
Прописка
 
Регистрация: 22.11.2011
Адрес: СПб,Иваново
Сообщений: 112
Сказал спасибо: 3
Сказали Спасибо 45 раз(а) в 29 сообщении(ях)
Probelzaelo на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

Сообщение от mlit Посмотреть сообщение
может кто видел 2-й программный UART на простой MeGA 8, 16 и т.п.
Не совсем UART но serial реализовать есть варианты:
1) библиотечка SmallUart, специфична, но работает, использовали тут http://compcar.ru/forum/showthread.p...%D0%B0-Arduino

2) Так же не менее программный вариант на Tiny13
http://www.getchip.net/posts/046-pro...dlya-attiny13/

3) Для ардуинщиков есть целая библиотека SoftwareSerial поставляется вместе с оболочкой, текст на С, разбирай и адаптируй если в том виде не устраивает.

4) Можно нисать самостоятельно, возможно будет чуть дольше, но не без пользы.
Probelzaelo вне форума  
Сказали "Спасибо" Probelzaelo
mlit (15.02.2013)
Непрочитано 15.02.2013, 19:43  
pripoy08
Частый гость
 
Регистрация: 20.04.2009
Сообщений: 17
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
pripoy08 на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

Сообщение от mlit Посмотреть сообщение
Мужики, разрешите пукнуть вдогонку (не открывать же новую тему), может кто видел 2-й программный UART на простой MeGA 8, 16 и т.п. Спасибо.
если задача в передачи и приеме данных отдельно по каналам, и в один момент времени данные не пересекаются, то можно логикой переключать и использовать один юсарт!
pripoy08 вне форума  
Непрочитано 15.02.2013, 23:29  
mlit
Временная регистрация
 
Регистрация: 14.10.2009
Сообщений: 77
Сказал спасибо: 11
Сказали Спасибо 43 раз(а) в 19 сообщении(ях)
mlit на пути к лучшему
По умолчанию Re: avr ~8mhz usart baud 115200

НЕ, один порт использовать для общения с ПК, а второй - с GSM модемом или GPS приемником или обоими. Написать код можно, но время потеряем, а библиотеки и созданы не столько для получения знаний, сколько для экономии жизни (так говаривали раньше в Америке). Попробуем то, что рекомендовали.
mlit вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
rs485 baud 9615 mery79 Микроконтроллеры, АЦП, память и т.д 14 21.12.2012 16:06
USART AVR MODBUS ua_gruzin Микроконтроллеры, АЦП, память и т.д 9 22.04.2012 00:00
AVR=usart+modem? begun Микроконтроллеры, АЦП, память и т.д 5 05.04.2010 13:49
прерывания usart в avr studio 4.13 zubr_ Микроконтроллеры, АЦП, память и т.д 6 14.10.2009 18:33
Проблема с USART AVR mega169 Archer07 Микроконтроллеры, АЦП, память и т.д 20 28.07.2009 15:02


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


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