Например TDA7294

Форум РадиоКот • Просмотр темы - Как померять мегагерцы?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн янв 26, 2026 20:28:48

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 44 ]    , , 3
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 25, 2008 18:14:54 
Родился

Зарегистрирован: Чт июл 31, 2008 14:30:05
Сообщений: 17
Откуда: Москва
Рейтинг сообщения: 0
Вобще unsugned long int from 0 to 4294967295. Число F_CPU * TCNT1 / (TCNT0 + 256 * t0) не такое уж и большое получается, явно укладывается в эти пределы. Только вот числитель великоват, по хоже мк считает сначала числитель и офигевает, а потом уже делит. Пробовал сделать TCNT1 / (TCNT0 + 256 * t0) float или double (кстати в чём различие?), а затем умножить на F_CPU
Код:
unsigned long int frequ = 123456789;
float freq;
.............
freq = TCNT1 / (TCNT0 + 256 * t0);
frequ = freq * F_CPU;

получаются всегда нули непонятно почему :( . Да, ещё одна проблема когда частота слишком большая цифры низких порядков из-за неточности измерения начинают бешено бегать, как бы это исправить думаю, куда бы влепить задержку?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб сен 27, 2008 23:26:41 
Родился

Зарегистрирован: Чт июл 31, 2008 14:30:05
Сообщений: 17
Откуда: Москва
Рейтинг сообщения: 0
Так что делать товарисчи?? Может посоветуете большие числа как нибудь через ассемблер умножить? Мне бы прям программой, если не трудно, а то я ассемблер не знаю совсем.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 30, 2008 18:11:06 
Мучитель микросхем

Зарегистрирован: Вт июл 22, 2008 08:10:54
Сообщений: 492
Рейтинг сообщения: 0
Код:
unsigned long int frequ = 123456789;
float freq;
.............
freq = TCNT1 / (TCNT0 + 256 * t0);
frequ = freq * F_CPU;


А тут и будет практически всегда 0.
Попробуйте вот так:
freq= ((float) TCNT1)/(TCNT0+256*t0)
или так
freq=((float) TCNT1)/((float) TCNT0 + 256*t0)

А что бы младшие порядки не скакали, выводить не мгновенное, а усреднённое значение.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 30, 2008 21:23:41 
Родился

Зарегистрирован: Чт июл 31, 2008 14:30:05
Сообщений: 17
Откуда: Москва
Рейтинг сообщения: 0
Огромное спасибо BerZerK-ku! Мучился целую неделю :shock:
Супер, всё получилось:)


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 44 ]    , , 3

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y