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

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

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

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

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

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

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

 
Опции темы

USART mega162 + эмуляция в ISIS = пляски с частотой

Непрочитано 26.06.2014, 21:36  
qweentet
Частый гость
 
Регистрация: 17.06.2014
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
qweentet на пути к лучшему
По умолчанию USART mega162 + эмуляция в ISIS = пляски с частотой

Переношу свой проект с mega8 на mega162, так как софтовый UART не дает стабильной работы, а мне надо 2-ва UART'а в 1-м камне.
На mega8 проект отлично работал, редко искажались пакеты на софтовом UART'е...
Перенос начал как раз с UART'ов, тестирование ведется в ISIS , так как физический камень еще не заказывал.
Настроил UART0, запускаю, а в консоль ползут каракули, я имел секс с этим делом целый день, пока случайно не тыркнул консоль на скорость 1200, и увидел верные символы.
НООО по всем заданным настройкам скорость передачи должна быть 9600...
Код:
#include  ‹ioavr.h›
#define F_CPU 8000000

void USART0_Init(void){
  UBRR0H = 0;
  UBRR0L = 51;  //9600 при F_CPU 8000000
  UCSR0B |= (1‹‹RXEN0)|(1‹‹TXEN0);  //Включить прием\передачу
  UCSR0B |= (1‹‹RXCIE0);  //Прерывания по окончанию приема
  UCSR0C |= (1‹‹URSEL0)|(0‹‹UMSEL0);  //Асинхронный режим
  UCSR0C |= (1‹‹URSEL0)|(0‹‹UPM00)|(0‹‹UPM01);  /Без проверки четности
  UCSR0C |= (1‹‹URSEL0)|(0‹‹USBS0);  //1 стоповый бит
  UCSR0C |= (1‹‹URSEL0)|(1‹‹UCSZ00)|(1‹‹UCSZ01);  // кадр 8 бит
  asm("sei");
};
void USART0_Transmit(unsigned char data){
  /* Wait for empty transmit buffer */
  while ( !( UCSR0A & (1‹‹UDRE0)) );
  /* Put data into buffer, sends the data */
  UDR0 = data;  
};

void main(void){
  USART0_Init();
  while(1){
    USART0_Transmit(0x34);
  }
};
Настройки ISIS в атаче.
Что интересно!
Я подумал, что-то не то с частотой, я ставлю якобы 8MHz и получаю 1200 бод, а 1200*8 = 9600 бод, и я подумал, что частота на самом деле 1Mhz.
Я выставил в камне (в ISIS) внешний кристал, и установил частоту 64MHz, не будет удивительным, я получил 9600 бод.
Второе интересное наблюлюдение:
void main(void){
DDRB=0xFF;
while(1){
PORTB=0x1;
asm("nop");
PORTB=0x0;
}
}
Вот такой код я запустил на выполнение, к соответствующей ноге порта B прикрутил счетчик, и установил на измерение частоты,врезультате, при установленной якобы 8MHz я получил на счетчике 142857 (~ сто пятдесят тысяч).
Неужели на эти элементарные операции тратится 55 тактов МК?
В общем, кто что думает, я докатился до стадии маразма, или всетаки ISIS глючит??? ( не первый раз натыкаюсь, четность в UART, он точно не верно считает)...
Миниатюры:
Нажмите на изображение для увеличения
Название: Настройка консоли в ISIS.jpg
Просмотров: 168
Размер:	68.3 Кб
ID:	66352   Нажмите на изображение для увеличения
Название: Настройка камня в ISIS.jpg
Просмотров: 196
Размер:	100.8 Кб
ID:	66353  
Реклама:

Последний раз редактировалось qweentet; 26.06.2014 в 21:45.
qweentet вне форума  
Непрочитано 26.06.2014, 22:10  
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,511 раз(а) в 2,392 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Фуз CKDIV8 ?
ForcePoint вне форума  
Непрочитано 26.06.2014, 22:23  
qweentet
Частый гость
 
Регистрация: 17.06.2014
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
qweentet на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Сообщение от ForcePoint Посмотреть сообщение
Фуз CKDIV8 ?
Я может снова, что-то недопониманию, но в моем понимании, фьюзы ставятся в физическом камне, а я имею дело с виртуальным, настройки которого я показал в атачах, или я все же чет не до понял?
qweentet вне форума  
Непрочитано 26.06.2014, 22:50  
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,511 раз(а) в 2,392 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Раз ISIS -симулятор(?), то, в идеале, должен иметь всё, что имеет реальный камень.
Ну или считайте CLKPR и, если там что-то отличное от 0, запишите в него этот нолик.
ForcePoint вне форума  
Непрочитано 26.06.2014, 23:01  
qweentet
Частый гость
 
Регистрация: 17.06.2014
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
qweentet на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Сообщение от ForcePoint Посмотреть сообщение
Раз ISIS -симулятор(?), то, в идеале, должен иметь всё, что имеет реальный камень.
Ну или считайте CLKPR и, если там что-то отличное от 0, запишите в него этот нолик.
Нет, фьюзы у него не такие как в реальном, я же говорю, смотрите атач!!! Там выпадающее меню, в котором можно выбрать частоту работы МК...
qweentet вне форума  
Непрочитано 26.06.2014, 23:31  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Симулятор учитывает фузы
niXto вне форума  
Непрочитано 26.06.2014, 23:58  
vynt
Почётный гражданин KAZUS.RUN
 
Аватар для vynt
 
Регистрация: 02.03.2011
Адрес: Россия, КБР
Сообщений: 629
Сказал спасибо: 108
Сказали Спасибо 596 раз(а) в 334 сообщении(ях)
vynt на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Сообщение от qweentet Посмотреть сообщение
Нет, фьюзы у него не такие как в реальном, я же говорю, смотрите атач!!! Там выпадающее меню, в котором можно выбрать частоту работы МК...
Все настройки нужно сделать как в реальном камне. Или они тут по Вашему для красоты? А то, по вашей логике, и от смены частоты ничего не должно было меняться...
vynt вне форума  
Непрочитано 27.06.2014, 00:23  
qweentet
Частый гость
 
Регистрация: 17.06.2014
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
qweentet на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Сообщение от vynt Посмотреть сообщение
Все настройки нужно сделать как в реальном камне. Или они тут по Вашему для красоты? А то, по вашей логике, и от смены частоты ничего не должно было меняться...
Где в моей логике, от смены частоты, ничего не должно было меняться?
qweentet вне форума  
Непрочитано 27.06.2014, 00:30  
qweentet
Частый гость
 
Регистрация: 17.06.2014
Сообщений: 30
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
qweentet на пути к лучшему
Радость Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Сообщение от ForcePoint Посмотреть сообщение
Фуз CKDIV8 ?
Спасибо, разобрался с этими фузами, глаза по вылазили, но , могли бы получше ткнуть носом=).
qweentet вне форума  
Непрочитано 27.06.2014, 02:17  
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,511 раз(а) в 2,392 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Сообщение от qweentet Посмотреть сообщение
могли бы получше ткнуть носом
Ну, как есть... "Я не кормлю рыбой, я учу делать удочки" (С) чьё-то
ForcePoint вне форума  
 
Опции темы

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

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

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


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


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