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

 
 
 
Reply to this topicStart new topic
> как считать CLKPR
horoc
сообщение Jan 4 2012, 17:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 18-06-10
Пользователь №: 58 001



Написал простенькую прогу, смотрю на выводе выходную частоту, при любых коэф. деления на выходе 1кГц.
Код
static void avr_init(void)
{  TCCR1B=(1<<CS10)|(1<<WGM12);// ctc mode
     OCR1A=4000;//время 1 милисекунда
     sei();
}

int main(void){
      clock_prescale_set(clock_div_2);
      avr_init();
      DDRB|=_BV(1)|_BV(0);
  while(1)
      {    
      PORTB^=_BV(1);
      if (TIFR1 & _BV(OCF1A)) // 0.001 sek
          {
          TIFR1 = _BV(OCF1A);
          PORTB^=_BV(0);    
          }
      }
  }


Все разобрался, этот код работает. Не работал UART из-за этого затормозил. Да и сейчас почему то получается, если взять значение из таблицы baud rate для 4Meg (4800 51 0.2%), то принимает нормально на 9600. Для меги88.

Сообщение отредактировал horoc - Jan 4 2012, 21:41
Прикрепленные файлы
Прикрепленный файл  m48.zip ( 46.64 килобайт ) Кол-во скачиваний: 13
 
Go to the top of the page
 
+Quote Post
horoc
сообщение Jan 5 2012, 10:18
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 18-06-10
Пользователь №: 58 001



Народ помогите!
Не могу понять. Ставлю RС 8Мег, CLKPR делю частоту на 2. Дергаю вывод через 1мс, частота должна быть 500Гц. Также уарт настраиваю на 2400 бод, а он в реале принимает на 4800 и частота на выводе 1кГц.
Исходник прилагаю, все лишние убрал. Проверяю в протеусе, там работает правильно.
Как понять такую ситуацию? RC генератор работает на 16Мег?
Еще вопрос, хочу использовать уарт, с тактированием от внутреннего RC, посылка где то раз в секунду не больше 9 байт, такой вариант имеет право на жизнь? Стоять будет в помещение. Никто не проверял на стабильность и повторяемость в разных экземплярах частоты этого генератора?
Прикрепленный файл  2.zip ( 36.36 килобайт ) Кол-во скачиваний: 82


Сообщение отредактировал horoc - Jan 5 2012, 10:26
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Jan 5 2012, 16:09
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Цитата(horoc @ Jan 5 2012, 14:18) *
Еще вопрос, хочу использовать уарт, с тактированием от внутреннего RC, посылка где то раз в секунду не больше 9 байт, такой вариант имеет право на жизнь? Стоять будет в помещение. Никто не проверял на стабильность и повторяемость в разных экземплярах частоты этого генератора?

Именно этого - не знаю, но в преобразователе Wiegand->RS232 нормально работает ATtiny12 на 9600 от внутреннего генератора (UART ногодрыжный) - кварца под рукой не было, а потом лень стало впаивать sm.gif Условия похожие - используется в помещении. Посылки до 64 байт включительно пролезают нормально, больших размеров не попадалось.

На счёт частоты для UART в даташите в формулах для расчёта скорости используется fOSC System Oscillator clock frequency...

Сообщение отредактировал RabidRabbit - Jan 5 2012, 16:15
Go to the top of the page
 
+Quote Post
horoc
сообщение Jan 5 2012, 19:06
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 18-06-10
Пользователь №: 58 001



Попросил друга проверить программу из поста выше. Так у него все нормально, частота на выводе 500гц. У меня другой меги нет, что бы самому проверить. На этой с этой программой на выводе 1кГц. Еще есть один нюанс, все байты сигнатуры читаются 0xFF, может это связано как то с тем, что частота внутреннего RC генератора моей меги 16Мег? Звучит конечна как бред cranky.gif , но, что в протеусе, что у друга программа работает, а у меня все частоты завышены в два раза.
Go to the top of the page
 
+Quote Post
niXto
сообщение Jan 7 2012, 04:56
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 24-06-09
Из: Беларусь
Пользователь №: 50 607



Внутренний генератор можно разогнать до 13 МГц - OSCCAL, но не рекомендуется выше 9 МГц т.к. им тактируется запись в ПЗУ и при высокой частоте срок хранения данных уменьшается

Прошить бит CKOUT и измерить частотомером
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:45
Рейтинг@Mail.ru


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