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

 
 
> как считать 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



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 20:44
Рейтинг@Mail.ru


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