Jump to content
Leo

Таймер Т0 Прерывание По Совпадению

Recommended Posts

Попробовал установить в CV два прерывания по совпадению А В но сработало только одно с большей задержкой прочитал инструкцию написано что происходит сброс счета как достигнуто сравнение.

Значит работает только сравнение с большей задержкой. Пробовал всё в Протэусе.

Share this post


Link to post
Share on other sites

таймер Т0 восьмибитный поэтому там нет А,В,. какой камешек используете? как код написан?

хотя подождите пару дней может сам догадаюсь)

если это таймер Т1 то правильно что оно только один раз сработало, потому что АиВ это не два прирывания а два регистра сравнения в которых записан старший и младший байты одного числа с которым нужно сравнить

Edited by Viktor26

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Посмотри CV там для tiny2313 два сравнения А и В в Т0 а код простой вывод 1 на ножку РВ1 РВ0 либо пробовал поставить инвертирование в прерывании не чего более.

Share this post


Link to post
Share on other sites
                     

Материалы вебинара STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

На вебинаре были продемонстрированы современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0, проведено их подробное сравнение. Мы подготовили для вас материалы. Вы можете посмотреть видеозапись вебинара, ознакомиться с ответами на вопросы, загрузить код для тестирования, прочитать статьи по теме

Подробнее...

Кода нету я пробовал эти два сравнения в каждое прерывание поставил PORT.0=1 и PORT.1=1 с разной задержкой.

Share this post


Link to post
Share on other sites

да причем тут CV вы смотрите что есть в самом МК и удалите эту чуш, поставте atmel studio 6

Share this post


Link to post
Share on other sites

Так это есть и в инструкции на контролёр почему и спрашиваю что не так работает.

Share this post


Link to post
Share on other sites

Вот код

Chip type		 : ATtiny2313
Clock frequency	 : 8,000000 MHz
Memory model	 : Tiny
External RAM size : 0
Data Stack size	 : 32
*****************************************************/
#include <tiny2313.h>

// Timer 0 output compare A interrupt service routine
interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
//PORTB.0=~PORTB.0;
PORTB.0=1;
}
// Timer 0 output compare B interrupt service routine
interrupt [TIM0_COMPB] void timer0_compb_isr(void)
{
PORTB.1=1;
//PORTB.1=~PORTB.1;
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=0
PORTB=0x00;
DDRB=0xff;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 1000,000 kHz
// Mode: CTC top=OCR0A
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0x04;
OCR0B=0x08;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x05;

// Analog Comparator initialization
// Analog Comparator: On
// Digital input buffers on AIN0: On, AIN1: On
DIDR=0x00;
// The Analog Comparator's positive input is
// connected to the Bandgap Voltage Reference
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x40;
// Global enable interrupts
#asm("sei")
while (1)
 {

 };
}

Edited by Leo

Share this post


Link to post
Share on other sites

Всем кто тут пишет, что в аттини 2313 у таймера Т0 нету регистров OCR0A и OCR0B, рекомендую к прочтению даташит на данный мк. ТС рекомендую почитать даташит на данный мк начиная со страницы 68, чтобы не пытаться впихнуть не впихуемое т.к для того, чтобы понять свою ошибку и то,что такая программа работать не будет там буквально нужно прочитать пару предложений.

Ладно даже приведу тут кусочек "В СТС-режиме значение Регистра Счетчика TCNT0 сбрасывается в нули, если значение TCNT0 соответствует значению, записанному в Регистр Сравнения OCR0A." , надеюсь теперь ясно ? И впредь всегда читай документацию, а не смотри на визарды в CV и да, правильный совет дали, поставь студию, а то от этой кучи нужных и ненужных комментариев в глазах рябит.

Edited by a_sergeevich

Share this post


Link to post
Share on other sites

Глупый но всё таки вопрос с какой целью два прерывания описаны в даташит если одно не рабочее.

Edited by Leo

Share this post


Link to post
Share on other sites

"В СТС-режиме значение Регистра Счетчика TCNT0 сбрасывается в нули, если значение TCNT0 соответствует значению, записанному в Регистр Сравнения OCR0A."

Не всё так примитивно.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

предположил) у меня там в предложении вместо точки должен вопрюзнак стоять, я опечатался

Edited by Viktor26

Share this post


Link to post
Share on other sites

Так Я и прошу пожалуйста просветите а то столько слов а воз и ныне там.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

моглибы уж сделать все камушки одинаково

Есть уже такие. STM32.

По поводу режима СТС. Евстифеев пишет, что в этом режиме

работает только один канал.

Edited by croc19

Share this post


Link to post
Share on other sites

Так Я и прошу пожалуйста просветите а то столько слов а воз и ныне там.

Вам уже ответили. Если вам нужны оба прерывания, не используйте режим СТС.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Скорее всего провода не правильно подключил энкодера или дисплея.Проверь схему подключения,должно все быть норм.
    • Поверьте мне, негритянки тоже бывают красивые. Например,  известнейшая супермодель Тайра Бэнкс, Рианна и т.д. Рианна, вообще, шокировала всех откровенным платьем! 
    • да ,на юпитере помню люминесцентные - зеленые - индикаторы бегали- союз мало у нас был - потому юпитер) вообще сугубо мое мнение - но на бобинах звук так то живее был- что-ли - сейчас редко услышишь такую стереопанораму и объем звука - в основном мертвый бум- бац)
    • Достаточно послушать музыкальный материал,стане понятно что он задумал.
    • Храню как память о былом рабочий Илеть110. Сначала хотел сделать "обрезание" лентопротяга но подумал и решил не лишать этот раритет аутентичности. Правда бабина одна единственная. Но какая. "Аналоговый" Высоцкий. Кассет мешок. В охотку под настроение запускаю руку в мешок и как в лото втыкаю в мафон первую попавшуюся. Буквально вчера-сь слушал C.C. Catch Soul Survivor лицензионка, запись на ленте BASF 01.2006года Московской студии REK-TREK.  Было два мешка vhs/svhs но за неимением видака и наличии другой видео техники отнёс на помойку.  А вот компашки храню. Свои самописные, подаренные другом за ненадобностью и лицензионки хрензнаеткогда купленные. 
    • Ну да... Вам понятно без комментариев...  Что курят в тапках аккурат перед е_лей...  ЗЫ: А ноги в раскоряку раздвигают только перед  питьём пива...
  • Покупай!

×
×
  • Create New...