Например TDA7294

Форум РадиоКот • Просмотр темы - AVR studio в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс июл 06, 2025 13:06:24

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3178 ]     ... , , , 158,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вс дек 08, 2024 23:32:12 
Нашел транзистор. Понюхал.

Карма: 6
Рейтинг сообщений: 14
Зарегистрирован: Пт апр 01, 2011 21:53:28
Сообщений: 187
Рейтинг сообщения: 0
Доброго всем времени суток.
Осваиваю С. AtmelStudio 7 . Пишу тестовую программу для I2C Slave.

Код:

Файл  Main.c
----------
int main(void)
{
    Sb_Start() ;                        // Инициализация. Там же запускается Sb_I2c_Init()      
    while (1)
    {      
        // Пустой цикл      
    }
}
----------

Файл  I2Cs.c
----------
void Sb_I2c_Init(void){
 ... Тут инициализация TWI в режиме SLAVE
}

ISR(TWI_vect){      // Прерывание  модуля  TWI
    unsigned char I2c_uC_status   = 0    ;    // статус регистра TWSR

    I2c_uC_status = TWSR & 0xF8 ;         //  отбрасываем 3 лишних байта [ -, TWSP1,TWSP2 ] 

    switch (I2c_uC_status){ 
        // .... код
        case 0x80: //** адресованы, был принят байт данных и послан ACK  ------
            Mr_I2C_SL_On_A ;                 // Макрос. Настраивает TWCR : Будет принят байт + ACK    
            Mr_SetBit_0(PORTC, Led2) ;    // Макрос. Записывает 0 в бит "Led2"  в регистре "PORTC" = Зажигает светодиод                                          
        break;
        //...... код
       }
       Mr_SetBit_1(TWCR, TWINT) ;  // <- 1 : Сброс флага прерывания (записать 1)   
}
----------



Испытываю в железе. Отправляю посылку по I2C. МК принимает. Светодиод зажигается. Всё ОК.
Обрабатывать принятый байт буду в MAIN. Поэтому вместо включения светодиода в прерывании ставлю флаг, который проверяется в главном цикле и при выставленном флаге включается светодиод.

Код:

Файл  Main.c
----------
int main(void)
{
    Sb_Start() ;                        // Инициализация. Там же запускается Sb_I2c_Init()      
    while (1)
    {      
        if (0 != (I2c_uC_Flags1 & (1<<I2c_Fe_Mess_Byte_New))) {   // ФЛАГ = принят байт ?   
            Mr_SetBit_0(I2c_uC_Flags1, I2c_Fe_Mess_Byte_New)    ;    // Макрос. Сброс флага
            Mr_SetBit_0(PORTC, Led2) ;    // Макрос. Записывает 0 в бит "Led2"  в регистре "PORTC" = Зажигает светодиод
        }
    }
}
----------

Файл  I2Cs.c
----------
void Sb_I2c_Init(void){
 ... Тут инициализация TWI в режиме SLAVE
}

ISR(TWI_vect){      // Прерывание  модуля  TWI
    unsigned char I2c_uC_status   = 0    ;    // статус регистра TWSR

    I2c_uC_status = TWSR & 0xF8 ;         //  отбрасываем 3 лишних байта [ -, TWSP1,TWSP2 ]

    switch (I2c_uC_status){ 
        // .... код
        case 0x80: //** адресованы, был принят байт данных и послан ACK  ------
            Mr_I2C_SL_On_A ;                 // Макрос. Настраивает TWCR : Будет принят байт + ACK    
            Mr_SetBit_1(I2c_uC_Flags1, I2c_Fe_Mess_Byte_New)    ;  Макрос. УСТАНОВКА ФЛАГА.  Записывает 1 в бит "I2c_Fe_Mess_Byte_New"  в регистре "I2c_uC_Flags1"                                          
        break;
        //...... код
       }
       Mr_SetBit_1(TWCR, TWINT) ;  // <- 1 : Сброс флага прерывания (записать 1)   
}
----------



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

_________________
Одни хотели бы понимать то, во что верят, другие - поверить в то, что пнимают.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Пн дек 09, 2024 15:47:38 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 453
Рейтинг сообщения: 0
SV12 писал(а):
Простейшая задача Поставить флаг в прерывании.

Странно выкладывать только часть программы, где не видно установки флага.
Есть волшебное слово volatile...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 00:22:23 
Нашел транзистор. Понюхал.

Карма: 6
Рейтинг сообщений: 14
Зарегистрирован: Пт апр 01, 2011 21:53:28
Сообщений: 187
Рейтинг сообщения: 0
Странно выкладывать только часть программы, где не видно установки флага.

Второй блок кода. (Вариант 2, в котором проблема)
Строка
Код:
Mr_SetBit_1(I2c_uC_Flags1, I2c_Fe_Mess_Byte_New)    ;  Макрос. УСТАНОВКА ФЛАГА. Записывает 1 в бит "I2c_Fe_Mess_Byte_New"  в регистре "I2c_uC_Flags1"

Переписал код на BascomAVR - так же отдельными файлами. Заработало сразу.

Есть волшебное слово volatile...

Спасибо. volatile помог.

Ещё заметил, что удивило в варианте 2: Отлаживаю по шагам. Доходит до строки в MAIN, где макрос сброса бита в регистре I2c_uC_Flags1. Отладчик просто перепрыгивает её - игнорирует. Как будто там ничего нет !! Я там для чего это этот код писал ? Сволочь такая, хоть бы предупреждение какое-нибудь выдал! Это нормально ?

P.S.
Почитал про volatile
Цитата:
Переменная должна быть декларирована как volatile всякий раз, когда возможно её неожиданное изменение.

Как так "неожиданно" !?!? :shock:

_________________
Одни хотели бы понимать то, во что верят, другие - поверить в то, что пнимают.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 00:40:41 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
Неожиданно - это когда переменная может поменяться извне, а не только в линейном коде программы.
Компилятор в общем случае смотрит, где может меняться переменная. И если видит, что изменений нет в линейном коде, то он вправе вообще эту переменную выбросить. Что в вашем случае и произошло.
А когда вы ему сказали, что это волатильная переменная, тогда компилятор отбросил в сторону свои влажные мечты про оптимизацию и сделал как хотели вы.

А баском - ну сложно про него что либо сказать. Возможно, там или нет оптимизации такого уровня, как в си, или оптимизации вообще нет.
ИМХО - это вообще тупиковая ветвь в эмбедде.

_________________
Белая и Пушистая


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 08:05:30 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 453
Рейтинг сообщения: 0
SV12 писал(а):
Второй блок кода. (Вариант 2, в котором проблема)
Строка
Код:
Mr_SetBit_1(I2c_uC_Flags1, I2c_Fe_Mess_Byte_New) ; Макрос. УСТАНОВКА ФЛАГА. Записывает 1 в бит "I2c_Fe_Mess_Byte_New" в регистре "I2c_uC_Flags1"


Так и я об этом, Mr_SetBit_1 кода нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 08:29:08 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18400
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Есть код или нет, надо смотреть в дизассемблере, как там прыгает высокоуровневый отладчик, еще ни о чём не говорит.
При включенной оптимизации отладчик может показывать удивительные вещи, поскольку теряется прямое соответствие между строкой Си и машинными командами. Хотите гулять строго по строкам Си - отключайте оптимизацию.

Добавлено after 2 minutes 41 second:
Особенно весело это выглядит при отладке в Протеусе, который помечает точечкой строки исходника, для которых есть отладочная информация: смотришь, и волосы дыбом! На фигурной скобке точка есть, а в теле цикла, которое эта скобка ограничивает, ни одной точки нет!!! :)))

Добавлено after 1 minute 26 seconds:
Пардон, на счет точек это я с прямым углом перепутал... Протеус адреса вместо точек показывает, точки это из другого...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 08:31:42 
Нашел транзистор. Понюхал.

Карма: 6
Рейтинг сообщений: 14
Зарегистрирован: Пт апр 01, 2011 21:53:28
Сообщений: 187
Рейтинг сообщения: 0
И если видит, что изменений нет в линейном коде, то он вправе вообще эту переменную выбросить.

Вообщето я считаю, это не уровнем ответственности компилятора. Раз написал, значит так нужно! И компилятор не вправе изменять мой код ! Ну или предупреждать, что переменная НЕ используется\меняется.
А баском - ну сложно про него что либо сказать. Возможно, там или нет оптимизации такого уровня, как в си, или оптимизации вообще нет.

Кстати, в Баскоме НЕиспользуемые переменные в месте их объявления окрашены в серый цвет. Видно, что они не попадут в готовую программу.

Хотите гулять строго по строкам Си - отключайте оптимизацию.

Не подскажите, где отключить ?

_________________
Одни хотели бы понимать то, во что верят, другие - поверить в то, что пнимают.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 08:47:22 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18400
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
В свойствах проекта настройки компиляции. Находите, где там написана опция -Os и заменяете её на -O0

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 10:06:48 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
SV12 писал(а):
Вообщето я считаю, это не уровнем ответственности компилятора. Раз написал, значит так нужно! И компилятор не вправе изменять мой код ! Ну или предупреждать, что переменная НЕ используется\меняется.
Это ваше право. Включите в настройках компилятора соответствующие ворнинги. И почитайте про уровни оптимизации, что и до какого уровня может делать компилятор с вашим кодом.

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вт дек 10, 2024 18:09:44 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 453
Рейтинг сообщения: 0
SV12 писал(а):
Вообщето я считаю, это не уровнем ответственности компилятора. Раз написал, значит так нужно! И компилятор не вправе изменять мой код ! Ну или предупреждать, что переменная НЕ используется\меняется.

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

https://microsin.net/programming/avr/av ... ation.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Пт янв 17, 2025 22:55:30 
Родился

Зарегистрирован: Пт янв 17, 2025 21:34:16
Сообщений: 17
Рейтинг сообщения: 0
Приветствую всех. Лет 12 к электронике не прикасался. Но вот пришлось снова заняться ATMega8. БОльшую часть вопросов решил выкуриванием тем здесь на форуме и в Яндексе, но возникла одна проблема, которую я сам побороть не могу. Чтение Евстифеева пока тоже завесу не приоткрыло.

Собственно есть простой код с инициализацией таймера и потом вызов прерывания по совпадению. В прерывании переключение одного бита в регистре TCCR1B. Но переключения почему-то не происходит. Ни при отладке в ATMELStudio(в разных версиях эффект одинаковый) ни в Proteus.
Думал, что забыл какой-то бит настроить и прерывания просто не работают, но поставил обнуление маркерной переменной "i" в прерывании, и при совпадении TCNT1 и OSR1A она благополучно обнуляется, т.е. прерывания исполняются. Но команда записи в регистр нужный бит в регистре не меняет.
Но точно такая же команда в основном теле кода отлично нужный бит переключает. Может я упустил, и есть какой запрет на запись в этот регистр в прерывании? В литературе ничего такого не нашёл.
Как думаете, в чем может быть загвоздка?

Код, который вызывает вопрос:
#include <avr/io.h>
volatile unsigned int i;

//-- Инициализация таймера №1 --
void timer1_ini(void)
{
DDRB = 0b00000010; // -- PB1 настроен на выход
TIMSK = (1<<OCIE1A);
TCCR1A=(0<<COM1A1)|(1<<COM1A0)|(0<<COM1B1)|(0<<COM1B0)|(0<<FOC1A)|(0<<FOC1B)|(0<<WGM11)|(0<<WGM10);
TCCR1B=(0<<ICNC1)|(1<<ICES1)|(0<<WGM13)|(1<<WGM12)|(0<<CS12)|(0<<CS11)|(1<<CS10);
TCNT1 = 0;
}
//----------

ISR (TIMER1_COMPA_vect)
{ // Обработчик прерывания по совпадению TCNT1 и одного из регистров сравнения
TCCR1B^=0b00010000; // переключаем бит в регистре в противоположное состояние при каждом прерывании (и тут оно не работает сумуляции
i ^= 0; //--- А это отлично исполняется, видно через AddWatch
}

int main(void)
{
ICR1 = 100;
OCR1A = 200;
asm("sei");
timer1_ini(); // Вызов функции инициализации таймера

while(1) {

i++;
// TCCR1B^=0b00010000; // А здесь абсолютно тот же код исполняется отлично.
}
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Сб янв 18, 2025 10:16:37 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
У вас тактирование таймера не внешнее?
(1<<ICES1) - вроде не нужен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Сб янв 18, 2025 10:22:59 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4328
Откуда: Ижевск
Рейтинг сообщения: 0
Батон Изюмыч писал(а):
Но команда записи в регистр нужный бит в регистре не меняет.
Но точно такая же команда в основном теле кода отлично нужный бит переключает. Может я упустил, и есть какой запрет на запись в этот регистр в прерывании? В литературе ничего такого не нашёл.
Как думаете, в чем может быть загвоздка?
Нет никакого запрета. Конструкция типа как ниже работает
Код:
.org 6
T1_COMPA:
   LDI   R17,1<<WGM13
   IN   R0,TCCR1B
   EOR   R0,R17
   OUT   TCCR1B,R0
   RETI

Нужно поменять значения в ICR1 и OCR1A местами, тогда заработает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Сб янв 18, 2025 11:44:43 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Батон Изюмыч, код вставляй через тег Code, как люди.
И почему бы не писать:
Код:
TCCR1B ^= 1<<WGM13; //вместо TCCR1B^=0b00010000;
Зачем мне лезть в ДШ!
И, если хочешь показать все биты, так все и показывай, даже которых нет:
Код:
TCCR1B = 0<<ICNC1 | 1<<ICES1 | 0<<5 | 0<<WGM13 | 1<<WGM12 | 0<<CS12 | 0<<CS11 | 1<<CS10;

Это просто совет. Что бы люди не плевались.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Сб янв 18, 2025 17:09:11 
Родился

Зарегистрирован: Пт янв 17, 2025 21:34:16
Сообщений: 17
Рейтинг сообщения: 0
У вас тактирование таймера не внешнее?
(1<<ICES1) - вроде не нужен.

Нет, тактирование от внутреннего генератора, без прескалера.
Да, действительно бит не имеет смысла, видимо ошибся.
akl писал(а):
Нужно поменять значения в ICR1 и OCR1A местами, тогда заработает.

Не помогло. ( Бит в регистре как стоял в нуле, так и стоит.
Асмовский кусочек понял как работает, но может я не правильно его в код применил, т.к. эффекта тоже нет.

Выглядит так, как будто происходит оптимизация при компиляции. Но в настройках стоит -O0 (ATMELStudio 7.0.1931, если что. Более менее безглючное из того, что по нынешним временам удалось скачать).
Открыл дизассемблер, по идее, после обработки прерывания должна идти команда "reti" и по ней можно найти этот кусочек кода. Но в дизассемблере ни одной такой команды не встречается.
При этом эта чёртова i вполне себе сбрасывается при совпадении. И я пока не могу понять где (не силен в ассемблере).

Инициализировал еще один порт и добавил в обработчик прерываний еще одну команду, чтобы писать TCCR1B в порт D.
Хрена лысого, не пишет. Порт так и остаётся в нулях. И в Proteus и в ATMELStudio. Но эта чёртова i продолжает сбрасываться как положено.

Спойлер
OKF писал(а):
код вставляй через тег Code, как люди.

1. Если вы обратили внимание, то это мой первый пост на форуме за последние минимум 12 лет. Если бы я на момент публикации сообщения знал как это работает, я бы именно так и сделал.
OKF писал(а):
Зачем мне лезть в ДШ!

2. Вам незачем. Зачем Вам вообще кому-то помогать?! Это же требует столько усилий!
OKF писал(а):
И, если хочешь показать все биты, так все и показывай, даже которых нет:

3. Я так делаю, чтобы быть уверенным, что всё, что можно изменить находится под контролем. Вам не стоит быть таким самоуверенным.
OKF писал(а):
Это просто совет. Что бы люди не плевались.)

Можно было бы принять Ваши претензии, но Вы написали много, и ничего по теме вопроса.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Сб янв 18, 2025 20:09:40 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1213
Рейтинг сообщения: 0
Да что ж ты такой обидчивый то!
ПУсть даже 100 лет ты не посещал форум, но ты же прежде чем постить, посмотри как делают люди, уж соверши пару телодвижений.
А вот когда делается тяп-ляп, и так сойдёт, а вы там разбирайтесь, тогда и нет никакого желания помогать.
Именно это я и хотел донести. Жаль что не доходит с первого раза.(
Удачи!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Сб янв 18, 2025 21:17:45 
Родился

Зарегистрирован: Пт янв 17, 2025 21:34:16
Сообщений: 17
Рейтинг сообщения: 0
СпойлерВопрос не обиды, а простого уважения к собеседнику.
Вы мне отвечаете не на тот вопрос, который я задаю. Это не мало мешает сосредоточиться на решении проблемы.
Ваши пожелания не имеют никакой ценности в этой ветке, и могли быть вполне озвучены в личных сообщениях. И поверьте мне, я на Вас сейчас не наезжаю. Просто присмотритесь к себе. Представьте, что мы поменялись местами.
Такие сообщения очень утомляют при поисках полезной информации на форуме. Я Вам говорю как человек, который уже неделю "курит" этот форум сообщение за сообщением.


В общем полез я в настройки ATMELStudio и начал отключать всё подряд, что касается оптимизации. В дизассемблере появился кусок кода обработчика прерывания.
Но при отладке по наступлении совпадения регистров, отладчик почему-то не делает переход на обработчик прерывания. Причём интересно, появилась возможность поставить в это место breakpoint. Но при запуске симуляции программа в это место так и не попадает.
И еще прикол. Если я делаю пошаговую симуляцию по коду СИ, то при совпадении переменная "i" сбрасывается на ноль как задумано в коде обработчика прерывания, а если я веду симуляцию в окне дизассемблера, то при достижении совпадения переменная "i" не сбрасывается и продолжает расти.

По сему делаю вывод, что глючит отладка в режиме симуляции.

Прошу подсказать какая версия ATMELStudio более менее стабильная? И если возможно, то где скачать. Нынче санкции, фирменный сайт просто не открывается. Пишет доступ запрещен. ((

Я где-то в сети видел, что у ATMELStudio есть проблемы с симуляцией прерываний, но там была пометка, что это только для прерываний поступающих извне. Как-то для меня все не понятно. Прошло больше 12 лет, а ПО стало только корявее. А старое ПО или не найти, или оно не ставится на современный Windows. ( Видимо Микрочип потихоньку сливает AVR серию в утиль.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Сб янв 18, 2025 21:44:06 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Батон Изюмыч писал(а):
Но при отладке по наступлении совпадения регистров, отладчик почему-то не делает переход на обработчик прерывания.
Вы вектора прерывания настраивали?
Батон Изюмыч писал(а):
А старое ПО или не найти, или оно не ставится на современный Windows.
На Win11 стоит студия 4.19 (2011 года) вроде свободно находится она.

Добавлено after 5 minutes 41 second:
https://www.mcu4you.ru/avr-studio-4-19/

сразу нашлось


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вс янв 19, 2025 04:58:17 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4328
Откуда: Ижевск
Рейтинг сообщения: 0
Замечу, студия не полностью адекватно справляется с режимами работы таймера. Например, игнорирует режим 12 CTC ICR1.Так что только проверка в железе.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AVR studio в вопросах и ответах
СообщениеДобавлено: Вс янв 19, 2025 13:13:15 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2917
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18739
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
причем, не только режим 12, и несколько других. зато Протеус правильно симулирует все режимы.

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


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3178 ]     ... , , , 158,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y