Найдено 9 результатов

Andergrin
Пн дек 22, 2008 18:33:47
Форум: Микроконтроллеры и ПЛИС
Тема: RPM-метр для компьютерного куллера
Ответы: 13
Просмотры: 2988

Вариант прошивки для измерения частоты оборотов от двух источников
Andergrin
Пт дек 19, 2008 15:06:06
Форум: Микроконтроллеры и ПЛИС
Тема: RPM-метр для компьютерного куллера
Ответы: 13
Просмотры: 2988

Нет вы не поняли, TIFR это регистр флагов прерываний от таймеров, его трогать не надо, тем более, что записью единицы в нужный бит вы не выставляете, а наоборот сбрасываете соответствующий флаг.(загляните в даташит)


Собственно, я это и хотел сделать, чтоб после появления внешнего прерывания ...
Andergrin
Чт дек 18, 2008 23:54:27
Форум: Микроконтроллеры и ПЛИС
Тема: RPM-метр для компьютерного куллера
Ответы: 13
Просмотры: 2988

Выставлял TIFR |=0x40, а вот если count_1 перенести из обработчика прерываний в главную функцию то в результате отображается "хаотично" изменяющиеся данные, а когда переменная count_1 в обработчике прерываний - все нормально. А точность тут достаточная, десятые я все равно не отображаю.
Andergrin
Чт дек 18, 2008 21:23:08
Форум: Микроконтроллеры и ПЛИС
Тема: RPM-метр для компьютерного куллера
Ответы: 13
Просмотры: 2988

Наконец то соорудил таки алгоритм измерения частоты оборотов с шагом 1 об/мин. Пока что сделал только один канал, на таймере TCCR2, но без труда можно реализовать второй канал на таймере TCCR0. Частота тактового генератора 8 МГц, установлен предделитель на 8, тоесть период одного такта таймера ...
Andergrin
Вт дек 16, 2008 22:33:08
Форум: Микроконтроллеры и ПЛИС
Тема: RPM-метр для компьютерного куллера
Ответы: 13
Просмотры: 2988

Пробую разные варианты, и что-то меня сейчас смущает, так это таймер TCCR0, а точнее его регистр TCNT0. Я установил тактирование от внутреннего генератора 8 МГц без предделителя, и записываю в TCNT0 число 255, как я понимаю после одного такта генератора он переполняется. По появлению 1 в регистре ...
Andergrin
Вс дек 14, 2008 22:21:03
Форум: Микроконтроллеры и ПЛИС
Тема: RPM-метр для компьютерного куллера
Ответы: 13
Просмотры: 2988

То, что я видел, было реализовано для одного куллера и используя вход ICP1, или так же как и в моем случае - с дискретностью 60 об/мин.
Я считаю 31250 прерываний, частота микроконтроллера 8 МГц без предделителя. Кусок кода (для одного куллера):

SIGNAL (SIG_INTERRUPT0)
{
count_pulses_1 ...
Andergrin
Вс дек 14, 2008 19:43:51
Форум: Микроконтроллеры и ПЛИС
Тема: RPM-метр для компьютерного куллера
Ответы: 13
Просмотры: 2988

RPM-метр для компьютерного куллера

Написал на WinAVR программу для ATMega8 для измерения частоты вращения двух компьютерных куллеров. Реализовано измерение оборотов кратное 60 об/мин , но хотелось бы измерить частоту вращения, кратную 10 об/мин , а как это сделать - не пойму. В своей программе использую прерывание по входу INT0 и ...
Andergrin
Сб дек 13, 2008 20:41:27
Форум: Микроконтроллеры и ПЛИС
Тема: warning: integer overflow in expression
Ответы: 19
Просмотры: 7557

У меня в тексте программы все правильно "avr/io.h"
"stdio.h", это что-то движок форума порезал
Andergrin
Пт дек 12, 2008 23:46:45
Форум: Микроконтроллеры и ПЛИС
Тема: warning: integer overflow in expression
Ответы: 19
Просмотры: 7557

warning: integer overflow in expression

Здравствуйте!
Пишу в WinAVR, и компилятор сообщает о переполнении переменной, хотя я объявил ее как long. Код (для проверки подставил значение 4690, которое принимает переменная в моей программе, после чего она умножается на 32):

#include <avr>
#include <stdio>

long i;

int main(void)
{
i=4690 ...

Перейти к расширенному поиску