• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!
Dron Kosher

пермененная + таймер = непонятное

9 сообщений в этой теме

Dron Kosher    0

Всем привет.

Не могу понять почему переменная temp не выставляется в единицу... хотя само прерывание срабатывает...

attiny13
 

#include <avr/io.h>
#include <avr/interrupt.h>


unsigned int temp;


ISR(TIM0_OVF_vect)
{
    temp=1;
    PORTB ^= 1;
    TCNT0  = 0;
}


    
int main(void)
{
    PORTB  =  0b00111111;
    DDRB   =  0b00000111;

    // Таймер
    TCCR0A = 0;
    TCCR0B = 0b00000101; //делитель
    TCNT0  = 0;
    TIMSK0 = 0b00000010; // Разрешение прерываний по переполнению
    
    sei();
    while (1) {
        
        if (temp==1) {
            PORTB ^=2;
            temp=0;
            }
    }
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
kt118    51

А как вы определяете что она не выставляется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dron Kosher    0

нарисовал схемку в протеусе с диодиками

диодик на PB1 не мигает, а должен :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kt118    51

Вы и схему выложите.

Изменено пользователем kt118

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ARV    263

Все переменные, которые используются и в обработчиках прерываний и в главном цикле, обязательно должны объявляться volatile, т.е. так:

volatile unsigned int temp;

Запомните это простое правило раз и навсегда.

  • Лайк 2
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dron Kosher    0

ARV благодарю, действительно заработало.

 

странно, что это правило ни в одном из попавшихся мне примеров не упоминается и не используется

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ARV    263

Об этом многократно повторено на всех форумах, во всех статьях и книгах, во всех описаниях и руководствах, посвященных avr-gcc. Ну и понимание самого стандарта языка Си тоже не помешает. Вы просто недостаточно хорошо изучили язык Си, только и всего.

Изменено пользователем ARV

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dron Kosher    0

да с Си у меня очень плохо, может посоветуете книгу для начинающего?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ARV    263

Классика: Керниган, Ричи "Язык Си"

Немного всего по-чуть-чуть, в том числе по Си и по avr-gcc в частности, в моих статьях: http://www.simple-devices.ru/index.php?option=com_content&view=article&id=12:winavr-avr-studio&catid=7:soft&Itemid=10 (несколько устарело, но для начала сойдет).

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • цепью OC_I, она же красным цветом на схеме Что касается дополнительного, то тут надо сказать, что можно добавить керамические конденсаторы для сглаживания пульсаций и иголок, СХ конденсатора на входе, о котором писал уважаемый Falanger, в топовых блоках он бывает, его цель вместе с входным дросселем направлена на подавление электромагнитных импульсов. Диодный мост входной, который состоит из слабых диодов, желательно заменить на сборку, об этом тоже писал Falanger. Далее всё это можно упаковать в корпус, он это уже тема другого раздела.
    • Всегда  прежде чем писать,надо  проводить лабораторную,практическую. Ведь это займёт 20 минут. Ни когда не превысит ток через кеноторон при зарядке  конденсатора,хоть какой ёмкости,потому что сам кенотрон,это высокоомный выпрямитель саморегулируемый. Вот замер тока. Конденсатор 220 мкф,дроссель и опять 150 мкф. Усилитель однотакт на 6П6С. Кто то запустил сказку о  том что 4 мкф в паспорте кенотрона написано и больше ёмкость применять нельзя. Этот паспорт на кенотрон писался в лохматые 30 или 40е года,когда 4 мкф конденсатор являлся самым ходовым,а 10-20 мкф  считался уже большой ёмкости, в те года когда дроссель стоил дешевле конденсатора 20 мкф.А вот  тумблер  включения Анода  ставить нельзя никогда  в кенотронном выпрямителе. Потому что прогретый кенотрон уже низкоомным  выпрямителем становится и импульс тока  первй после включения  превышает 1,5-2 ампера. Хотя он тоже длится всего один-два полупериода, но может вывести из строя кенотрон.      
    • - мне гугл показал сразу кучу схем подключения этого прибора. Это он не всем их показывает, что ли?   - можно сделать как угодно, но, если у вас возникает такой вопрос - то не мешайте в одну кучу все. Сделайте все отдельно.
    • Пожалуйста , проверьте мое художество (от слова "худо") .Я не уверен что обошлось без косяков.Наверное было бы проще применить стрелочные приборы . И вопрос еще по КРЕН 5 - радиатор нужен ? А для КТ 837? ЗУ автомат ПРОЭКТ 2.lay6
    • Правильный вопрос - насколько эффективен будет мост в стоуне и кводе. Ответ - ровно на величину глубины этой ШП ОООС.   Что это такое? В сравнении с чем например?  С примерно 1, 2 кГц до почти 50 кГц, - это сильно узко, или не? Или сравнение с  ОООС? Я уже упоминал что это ПРИНЦИПИАЛЬНО разные способы линеаризации и сравнивать их в лоб - некрасиво, как впрочем и смешивать.   То же самое что вы именуете "площадь усиления". Строго говоря, речь идёт об одном и том же, Произведении усиления на полосу, которую можно выражать характеристикой "скорость", или как вы - "площадь..."   Это ООСный подход снова)) Она и так МАКСИМАЛЬНО эффективна в полосе баланса моста. Особенно вверху, практически 50 кГц если конечно позволяет скорость девайсо) В отличии от ОООС, эффективность которой с ростом частоты, машет всем кепочкой. ЗЫ. А сопротивление нагрузки у Квода - ПРИНЦИПИАЛЬНО изолированно от входа, и совершенно правильно - не причём. Т.е его опосредованное влияние не выходит за пределы узла коррекции, а значит не породит ни интермод ни фазовой грязи... Эт, точно! )))
    • Модераторы, будьте добры, перенесите информацию касательно усилителя Зуева в соответсвующую тему, а то она здесь затеряется.
    • это все понятно. а чем ты достигаешь стабилизацию выходного тока при изменении напряжения