Мелкие вопросы по МК и ПЛИС.
- Виталик
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Вс ноя 18, 2007 12:29:40
- Откуда: Одесса
- Контактная информация:
Слышал, что входы МС нельзя оставлять неподключенными, а выходы можно. Т.е. согласно вышепривенной схеме и цоколевки 74HC245N я должен обьеденить ножки 6-9 и присоеденить их к 10 (земля) или через токоограничительный резистор на 20 (+), а ножки 11-14 оставить?
- Вложения
-
- TEMP.GIF
- 74HC245N
- (7.61 КБ) 398 скачиваний
-
a.a.ryzhov
- Родился
- Сообщения: 2
- Зарегистрирован: Чт апр 16, 2009 17:48:53
Использую ATMEGA88
Какая наиболее удобная форма кода подходит для программного опроса окончания АЦ преобразования? Насколько я понял в ATmege напрямую "пощупать" флаг ADIF в регистре ADCSRA нельзя, т.к. он находится за пределами действия команды sbic.
Предполагаю, что сначала регистр ADCSRA нужно поместить в temp, а затем определить состояние 4-го бита, затем снова считать в temp, затем опять проверить 4й бит и до тех пор пока не станет 1. Поправьте, если я ошибаюсь.
Какая наиболее удобная форма кода подходит для программного опроса окончания АЦ преобразования? Насколько я понял в ATmege напрямую "пощупать" флаг ADIF в регистре ADCSRA нельзя, т.к. он находится за пределами действия команды sbic.
Предполагаю, что сначала регистр ADCSRA нужно поместить в temp, а затем определить состояние 4-го бита, затем снова считать в temp, затем опять проверить 4й бит и до тех пор пока не станет 1. Поправьте, если я ошибаюсь.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
для "ощупывания" конца цикла АЦП обычно используют бит ADSC: как только упал - аллес, все готово. а в остальном все верно.a.a.ryzhov писал(а):Использую ATMEGA88
Какая наиболее удобная форма кода подходит для программного опроса окончания АЦ преобразования? Насколько я понял в ATmege напрямую "пощупать" флаг ADIF в регистре ADCSRA нельзя, т.к. он находится за пределами действия команды sbic.
Предполагаю, что сначала регистр ADCSRA нужно поместить в temp, а затем определить состояние 4-го бита, затем снова считать в temp, затем опять проверить 4й бит и до тех пор пока не станет 1. Поправьте, если я ошибаюсь.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
a.a.ryzhov
- Родился
- Сообщения: 2
- Зарегистрирован: Чт апр 16, 2009 17:48:53
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
неудобно - работайте по прерываниям
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
какие там параметры... там идет прямоугольные импульсы - иногда просто открытый коллектор (т.е. надо резистор на питание, чтобы импульсы увидеть). на 1 оборот 1 или 2 (может и больше - не уверен) импульса. надо просто мерить частоту этих импульсов, она будет пропорциональна частоте вращения.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
поищите на форуме - была не одна тема про измерение частоты и периода...Sounds писал(а):отлично! но как можно померить частоту импульсов без осциллографа?
У меня есть одна мысль но не знаю насколько она бредовая, может как-то использовать прерывание?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- sachok
- Опытный кот
- Сообщения: 849
- Зарегистрирован: Сб янв 05, 2008 11:05:15
- Откуда: Україна м.Луцьк
- Контактная информация:
У меня небольшой впрос по Си. Такая ситуация:
Я так понял что если любая переменная из этих шести равна "0" то будет виполнятся, а если все не равны "0" то ничего выполнятся не будет. Правильно?
Код: Выделить всё
if (a==0 | b==0 | c==0 | d==0 | e==0 | f==0 )
{
[група операторов];
}Я так понял что если любая переменная из этих шести равна "0" то будет виполнятся
Код: Выделить всё
[група операторов];Я не Сашок!!!
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
Будет правильно,.. если побитовые ИЛИ заменить на логические.
Или так:
Или так:
Код: Выделить всё
if ( !(a && b && c && d && e && f) )
{
... ;
}- sachok
- Опытный кот
- Сообщения: 849
- Зарегистрирован: Сб янв 05, 2008 11:05:15
- Откуда: Україна м.Луцьк
- Контактная информация:
Тоесть мне нужно так сделать:
Если любая из переменных равна "0" то что то делаем
?
Код: Выделить всё
if ( (a && b && c && d && e && f)=0)
{
[група операторов];
}Если любая из переменных равна "0" то что то делаем
?
Я не Сашок!!!
- Тихоня
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Пт мар 23, 2007 19:51:45
- Откуда: Иркутск
У меня тоже вопрос, по внешним прерываниям.
Разбирал пример из книжки, где с помощью таймера борются с дребезгом контактов. Там обработчик INT'а сразу же запрещает INT от кнопки, делает свои дела, потом включает таймер и на этом всё (reti).
Снова разрешает прерывания от кнопки уже обработчик таймера, после выдержки антидребезговой паузы.
Вопрос следующий: надо ли в обработчике таймера перед разрешением INT'ов от кнопки предварительно сбрасывать флаг этого прерывания?
Ведь, несмотря на то, что дребезг к этому времени уже кончился, он мог "запомниться" в флаге... Или нет?
В книжке ничего не сбрасывают.
Разбирал пример из книжки, где с помощью таймера борются с дребезгом контактов. Там обработчик INT'а сразу же запрещает INT от кнопки, делает свои дела, потом включает таймер и на этом всё (reti).
Снова разрешает прерывания от кнопки уже обработчик таймера, после выдержки антидребезговой паузы.
Вопрос следующий: надо ли в обработчике таймера перед разрешением INT'ов от кнопки предварительно сбрасывать флаг этого прерывания?
Ведь, несмотря на то, что дребезг к этому времени уже кончился, он мог "запомниться" в флаге... Или нет?
В книжке ничего не сбрасывают.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
мыслите верно - флаг сбрасывать нужноТихоня писал(а):Вопрос следующий: надо ли в обработчике таймера перед разрешением INT'ов от кнопки предварительно сбрасывать флаг этого прерывания?
а вам, sachok, я, как и обычно, порекомендую почитать книжки про язык Си, чтобы запомнить разницу между оператором = и ==
Код: Выделить всё
if ((a && b && c && d && e && f) == 0)
{
[група операторов];
}если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!