Страница 24 из 628
Добавлено: Сб фев 16, 2008 18:46:37
knyaz*
спс установил и то и другое/// правдо вот косяк с самим avr-gcc///
Добавлено: Вс фев 17, 2008 10:09:17
Kesha
Что за косяк?
Добавлено: Вс фев 17, 2008 13:53:17
sabac
многоуважаемые обьсните пожалуста си я знаю не плохо как организовать частометр на атмега16 мне нужна только часть подсчета частоты обьяните кто может по подробнее заранее благодарен
Добавлено: Вс фев 17, 2008 15:34:41
Aheir
Уже несколько раз писали на форуме, ищите. Если коротко, то потребуется внешнее прерывание и таймер. Далее, 2 подхода:
1. За фиксированный интервал времени (отсчитываем таймером) считаем количество импульсов (внешним прерыванием)
2. Измеряем время (таймером), за которое случается определенное (заданное) количество импульсов.
Добавлено: Вс фев 17, 2008 15:42:16
ARV
Aheir писал(а):Уже несколько раз писали на форуме, ищите. Если коротко, то потребуется внешнее прерывание и таймер. Далее, 2 подхода:
1. За фиксированный интервал времени (отсчитываем таймером) считаем количество импульсов (внешним прерыванием)
2. Измеряем время (таймером), за которое случается определенное (заданное) количество импульсов.
3. измеряем период (время между двумя имульсами) и находим частоту, как обратную величину. единственный разумный способ для измерения очень низких частот
Добавлено: Вс фев 17, 2008 18:11:37
Ka3ax
единственный и верный способ замера малых частот, подчет импульсов калиьброванной частоты за период измеряемой.
Добавлено: Вс фев 17, 2008 18:27:01
Aheir
И то, и другое - частные случаи первых двух способов.

Добавлено: Пн фев 18, 2008 00:24:56
sabac
Aheir писал(а):Уже несколько раз писали на форуме, ищите. Если коротко, то потребуется внешнее прерывание и таймер. Далее, 2 подхода:
1. За фиксированный интервал времени (отсчитываем таймером) считаем количество импульсов (внешним прерыванием)
2. Измеряем время (таймером), за которое случается определенное (заданное) количество импульсов.
я эти способы понимаю я имел ввиду обьяснить на коде в си тоесть как это организуеться в си извеняюсь просто с мк вот тока столкнулся пришлось учиться с ними работать так что извеняюсь за свою непонятливость желательно чтобы было в виде на определеный поррт есть вход меандра надо наиболее простой конструкцией определить его частотту желательно все сделать програмно заранее спасибо
Добавлено: Пн фев 18, 2008 09:52:23
Aheir
Добавлено: Чт фев 21, 2008 23:33:15
Skrrmrchoh
Сколько Вы знаете различных протоколов для ИК-пультов? Сколько существует частот? Что наиболее распространено ?
Добавлено: Пт фев 22, 2008 08:30:21
Aheir
В качестве примера:
http://www.radiokot.ru/articles/14
Там есть ссылка на неплохой сайт по теме, опbсано более 10 протоколов.
Скоро будет материал по RC-5.
Добавлено: Пт фев 22, 2008 23:32:40
Mu3y
Помогите пожалуста разобраться: в программе кусок отвечает за проверку нажатия кнопок:
ldi sosA,0b00111111
in sosA,PinA
......
Вот вобщем если написано так то работает, только я не могу понять зачем нужна первая строчка, без неё почему то жутко глючит. (я её случайно вобще подписал) Ведь здесь все равно потом сразу же считываются все биты из РВВ А, неважно что записано до этого? Для информации DDRA=0b11000000, но ведь команда IN считывает биты независимо от того настроен ли выход на чтение или запись?
И вобще, это проверялось пока только в протеусе, может это в нем проблема?
Добавлено: Сб фев 23, 2008 00:03:13
Томатный
Помогите разобраться, как заставить Атмега8 спать?
в даташыте: To enter any of the five sleep modes, the SE bit in MCUCR must be written to logic one and a
SLEEP instruction must be executed.
Что значит "and a SLEEP instruction must be executed" ?
Что это за инструкция? Почему сразу после установки бита SE МК не засыпает?
Пишу в WinAVR
Добавлено: Сб фев 23, 2008 00:08:50
biDE
Томатный писал(а):Помогите разобраться, как заставить Атмега8 спать?
Битами SM0...SM2 выбираете режим сна. Бит SE производитель рекомендует устанавливать непосредственно перед командой SLEEP, хотя это можно делать и в начале программы. Ну и в том месте, где МК должен заснуть, ставите команду SLEEP.
Добавлено: Сб фев 23, 2008 00:16:47
Томатный
Ну и в том месте, где МК должен заснуть, ставите команду SLEEP.
Мне вот и интересно как эта команда выглядит в WinAVR.
А ещё интересно как она работает. Можно ли её выполнить изменив значения определеного регистра? Или это что-то другое?
Mu3y, на сколько я знаю, с регистра PINx можно прочитать порты, настроеные только как входы ибо порты настроеные как входы отключены от PINx и подключены к PORTx
Добавлено: Сб фев 23, 2008 01:06:12
biDE
Томатный писал(а):
Мне вот и интересно как эта команда выглядит в WinAVR.
А ещё интересно как она работает. Можно ли её выполнить изменив значения определеного регистра? Или это что-то другое?
В winavr я пока не работаю (и вообще на С), только установил, но есть подозрения, что это sleep_cpu(). После выполнения прекращается тактирование некоторых кусков МК в соответсвии с выбранным режимом сна.
Добавлено: Сб фев 23, 2008 01:43:50
Томатный
Пришлось облазить содержимое папки WinAVR...

Разобрался. Нужно подключить библиотеку sleep.h и юзать функции
set_sleep_mode(n); // n - выбор режима
sleep_mode();
После выполнения прекращается тактирование некоторых кусков МК в соответсвии с выбранным режимом сна.
Что делает функция - уже понятно, но как это она делает?

Добавлено: Пн фев 25, 2008 20:22:35
Tohey
А можна как то WDT настроить на другой вектор?
Добавлено: Ср фев 27, 2008 19:58:00
Томатный
Что может быть с моей АТмега8, читаю даные с АЦП, а там числа генерируются случайным образом???
На ногах МК напряжение 0 В, хотя если зазаземлить одну из ног то цисло с АЦП близко к нулю, и на соседних каналах тоже
Пробовал различные источники опорного напряжения - не помогло
Добавлено: Ср фев 27, 2008 20:57:12
tych
числа назовите. и код жедлательно показать.