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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,794
Сказал спасибо: 2,913
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
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.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,794
Сказал спасибо: 2,913
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
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.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

Симулятор учитывает фузы
niXto вне форума  
Непрочитано 26.06.2014, 23:58  
vynt
Почётный гражданин KAZUS.RU
 
Аватар для 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.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,794
Сказал спасибо: 2,913
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: USART mega162 + эмуляция в ISIS = пляски с частотой

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

Закладки
Опции темы

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

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot