Например TDA7294

Форум РадиоКот • Просмотр темы - Компиляция для ATtiny4313 и ATmega8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 09:20:06

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


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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Компиляция для ATtiny4313 и ATmega8
СообщениеДобавлено: Вт июн 05, 2018 15:15:59 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Добрый день, уважаемые форумчане. Подскажите по такому вопросу. Есть девайс, управляет автоматикой гелиосистемы (4 датчика DS1820, два насоса, индикация на семисегментном индикаторе). В первой реализации был установлен микроконтроллерATtiny2313, но памяти уже не хватало. чтобы не переделывать плату, было принято решение заменить микроконтроллер на ATtiny4313. Но возникла одна проблема. Так как девайс уже установлен на объекте, все изменения нужно как-то проверить, а уже потом на месте прошивать. Но для проверки прошивки в Proteus модели ATtiny4313 нет, поэтому есть мысль сделать директивы условной компиляции, допустим в начале выбор целевого микроконтроллера и дефайны по используемым регистрам. Чтобы изменением одной строчки можно было компилировать либо под ATmega8 либо под ATtiny4313. Как добавить в Proteus больше памяти на основе ATtiny2313 не знаю. Если можно какой-то простой пример, чтобы на его основе сделать условную компиляцию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Компиляция для ATtiny4313 и ATmega8
СообщениеДобавлено: Чт июн 07, 2018 15:34:36 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Вроде немного разобрался, теперь хотелось бы немного оптимизировать

сделал такую конструкцию

#define _ATtiny4313_
//#define _ATmega8_

.....

    #ifdef _ATtiny4313_
      TCCR0B |= (1 << CS02) | (0 << CS01) | (0 << CS00); //установка предделителя в TCCR0 (делитель 256)
    #endif 

    #ifdef _ATmega8_
      TCCR0 |= (1 << CS02) | (1 << CS01) | (0 << CS00); //установка предделителя в TCCR0 (делитель 256)    
    #endif

Чувствую что немного неправильно, я в настройках компилятора (AVRStudio 4.19) указываю целевой микроконтроллер. Поэтому первые две строки нужно заменить каким-то выражением, которое подставляло правильный микроконтроллер, чтобы не править руками первые две строки


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Компиляция для ATtiny4313 и ATmega8
СообщениеДобавлено: Пт июн 08, 2018 14:25:30 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Вот докумекал и немного подсказали, если ком то интересно
#if defined (__AVR_ATtiny2313__)
...
#elif defined (__AVR_ATtiny4313__)
...
#elif defined (__AVR_ATmega8__)
...
#else
# warning "device type not defined"
#endif


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

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


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

Сейчас этот форум просматривают: Varlakotam, veso74 и гости: 20


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

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


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