Например TDA7294

Форум РадиоКот :: Просмотр темы - AVR studio в вопросах и ответах
Форум РадиоКот
http://radiokot.ru/forum/

AVR studio в вопросах и ответах
http://radiokot.ru/forum/viewtopic.php?f=57&t=6996
Страница 145 из 151

Автор:  Vlad_RK [ Ср янв 09, 2019 10:00:18 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Желательно, чтобы и в пути к файлам не было русских букв.

Автор:  bango [ Ср янв 09, 2019 12:30:30 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

спасибо за помощь откомпилировал (машинально написал )

Автор:  bango [ Пн янв 14, 2019 06:57:40 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Привет всем форумчанам. Помогите разобраться с таймером 0 Attini 2313 не работает не входит в прерывания.
Код:
#define F_CPU 16000000UL // установка в программе частоты процессора
#include <avr/io.h>//библиотека для портов вводы вывода
#include <avr/interrupt.h>//библиотека прерываний
//----------
// обработка прерывания
//----------
// comp при совпадении
ISR (TIMER0_COMPA_vect)
{
      asm("nop");
      PORTB = 0b00000001;   
}
//ovf при переполнении
ISR (TIMER0_OVF_vect)
{
      asm("nop");
      PORTB = 0b00000010;
}
int main(void)
{
   DDRB = 0b11111111;  // Определение направления Порта В работает на выход
   PORTB = 0b11111100; // Подтягиваем резисторами не используемые биты
   //----------
   //задаем режим работы таймера счетчика 0
   //----------
   //
   // устанавливаем делитель 1024 (101)
   TCCR0B |= (1<<CS00);
   TCCR0B |= (1<<CS02);   
   TCCR0A |= (1<<WGM01); // WGM = 010 - режим CTC(сброс по совпадению)
   //разрешаем прерывание таймера т0 при событии совпадение
   //устанавливаем бит разрешения прерывания 0го счетчика
   // по совпадению с OCR0A
   TIMSK |= (1<<OCIE0A);//при совпадении (1 - OCIE0A) при переполнении (1 - TOIE0)
   //OCR0B = 150;// заносим в регистр число для сравнения
   OCR0A = 100;
   asm ("sei");      
    while(1)
    {
        asm("nop"); //установим паузу
    }
}

Автор:  Ivanoff-iv [ Пн янв 14, 2019 09:28:25 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

а при переполнении чего не разрешил? он в совпадение заходит а порт и так в том состоянии, в которое его перевести надо, потому изменения и не видны

Добавлено after 1 minute 54 seconds:
при такой как у тебя записи регистр надо сначала обнулять иначе, если там чтото было - то результат будет непредсказуем
(это я про запись в TCCR0A, TCCR0B, TIMSK...)
разве студия не дает записать: TCCR0B = (1<<CS00|1<<CS02); или TCCR0B = (5<<CS00); :))

Автор:  bango [ Пн янв 14, 2019 10:00:13 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Цитата:
при такой как у тебя записи регистр надо сначала обнулять иначе, если там чтото было - то результат будет непредсказуем
(это я про запись в TCCR0A, TCCR0B, TIMSK...)

В даташите написано что эти биты изначально в нуле. (а как это сделать, а то я себе это плохо представляю)
Цитата:
разве студия не дает записать: TCCR0B = (1<<CS00|1<<CS02); или TCCR0B = (5<<CS00);

Не пробовал ну наверно может я только учусь и о компактности кода даже не задумываюсь.

Автор:  prinv [ Пн янв 14, 2019 10:11:44 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Как-то вы сзаду наперёд делаете. Запустили таймер, а потом начали его настраивать.

Автор:  bango [ Пн янв 14, 2019 10:32:03 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Вы имели в веду что код надо писать так
Код:
   TIMSK |= (1<<OCIE0A);//при совпадении (1 - OCIE0A) при переполнении (1 - TOIE0)
   TCCR0A |= (1<<WGM01); // WGM = 010 - режим CTC(сброс по совпадению)
   TCCR0B |= (1<<CS00);
   TCCR0B |= (1<<CS02);

но этот код тоже не работает

Автор:  prinv [ Пн янв 14, 2019 10:36:31 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Не работает - не появляются единички в младших битах PORTB?

Автор:  bango [ Пн янв 14, 2019 10:43:54 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Я когда запускаю отладчик по шагам я не вижу как таймер считает, а 1ца в порте В появляется как то не понятно.
TCNT0 доходит до 78 и сет останавливается.

Автор:  prinv [ Пн янв 14, 2019 10:46:07 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Попробуйте breakpoint в обработчике прерывания поставить

Автор:  Ivanoff-iv [ Пн янв 14, 2019 11:05:24 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

а при переполнении чего не разрешил? он в совпадение заходит а порт и так в том состоянии, в которое его перевести надо, потому изменения и не видны

попробуй: TIMSK = (1<<OCIE0A|1<<TOIE0);

Автор:  bango [ Пн янв 14, 2019 11:23:05 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

не получается вот проект для наглядности с протеусом

Вложения:
timer0 proba2.zip [36.5 KiB]
Скачиваний: 171

Автор:  akl [ Пн янв 14, 2019 11:49:29 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

В режиме CTC прерывание переполнения с таким значением OCR0A=100 никогда не вызовется. Попробуйте
asm("nop");
; PORTB = 0b00000001;
PINB = 0b00000011;

Автор:  Ivanoff-iv [ Пн янв 14, 2019 11:53:17 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

ещё: у тебя режим по совпадению, попробуй для начала в обычном режиме...

Добавлено after 2 minutes 2 seconds:
а с каким вызовется? :)
правильно, если нужны 2 прерывания, в режиме СТС то задействуй прерывание Б. (т.к. А у этого МК связан с переполнением)

Автор:  bango [ Вт мар 12, 2019 11:57:03 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

подскажите как выставить микросхему AT90S2313_10PI в AVR studio 6 при создании проекта в списке микросхем такой микросхемы нет, как с этим бороться.

Автор:  serg_svd [ Вт мар 12, 2019 15:09:32 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Наивный и глупый вопрос по интерфейсу программы от меня.
Можно ли как-то сворачивать записи циклов, условных переходов? Функции то можно свернуть, нажав слева на значок минуса. А то иногда целая куча фигурных скобок сбивает с толку. Если не ошибаюсь, в кодевижене была такая фишка. А тут не могу в настройках найти.
Просто бывают очень длинные записи внутри циклов. Бить на подпрограммы смысла нет. А хочется как-то упростить чтение кода, пропуская уже отлаженные куски внутри программы

Автор:  dr.doc [ Пт апр 05, 2019 10:38:21 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Atmel Studio 6.0. Игнорирует участки с кодом. Как заставить компилятор выполнять все участки? Кроме случая с отключением оптимизации.
Пример кода:

В коде показана задержка, реализованная при помощи аппаратных прерываний по таймеру, по которому указанный в while флаг сбрасывается. Так вот компилятор творит хз. Пример дизассемблерного кода:

Подскажите, что мне можно сделать. Код пока тестовый, но мне нужно, чтобы строка flag_stopped.bit.bf6 = 0; обязательно выполнялась. Спасибо.

Автор:  ARV [ Пт апр 05, 2019 11:13:03 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

вангую, у вас flag_fl.bit.b2 не объявлена volatile, но присвоена единичке. в итоге компилятор уверен, что эта единичка - вечная, и стопорит программу.

Автор:  Vlad_RK [ Пт апр 05, 2019 11:41:51 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Atmel Studio 6.0. Игнорирует участки с кодом.

Попробуйте AVR Studio 5.1 с этим же кодом, 6-я и у меня неправильно работает. Как и 7-я.

Автор:  ARV [ Пт апр 05, 2019 11:43:58 ]
Заголовок сообщения:  Re: AVR studio в вопросах и ответах

Попробуйте AVR Studio 5.1 с этим же кодом, 6-я и у меня неправильно работает. Как и 7-я.
лучше попробуйте повысить свои знания в Си - уверен, студия станет работать намного правильнее :)

Страница 145 из 151 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/