реклама на сайте
подробности

 
 
> Работа с ногами AVR на С++, Проблема переноса с IAR на WinAVR
Waso
сообщение Nov 4 2009, 17:42
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Всем доброго времени суток!

Понадобилось перенести проект с IAR (EWAVR 530) на WinAVR (20090313) для юридической чистоты...
Вылезла такая бяка: Иар успешно работает с такой конструкцией:
Код
template <unsigned char volatile * port, const char bit>
class mypin
{
public:
        inline mypin() {*(port-1)|=(1<<bit);} // смещение -1 - регистр DDR - настраиваем на выход.
        static inline void set()    {*port|=(1<<bit);}
};
int main()
{
    mypin<&PORTA,4> mypinname; // тут мы обьявляем место подключения и инициализируем одновременно
//...
     mypinname.set();
//...
}

А WinAVR глючит на конструкции &PORTA в объявлении класса и заявляет что не хватает параметров:
Код
    - wrong number of template arguments (1, should be 2) provided for 'template<volatile uint8_t* port, char bit> class mypin'

хотя в другом месте адрес порта успешно изымается:
Код
volatile uint8_t* portC = &PORTC;
*portC &= ~(1<<7);
Это глюк компилятора? Как это можно обойти? Подскажите пожалуйста!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Waso   Работа с ногами AVR на С++   Nov 4 2009, 17:42
- - Genadi Zawidowski   Попробуйте в шаблоне не делать предположения о том...   Nov 4 2009, 19:23
- - Waso   Кодtemplate <uint8_t volatile & port, cons...   Nov 4 2009, 20:19
- - Genadi Zawidowski   А не надо делать предположения об адресе регистра ...   Nov 4 2009, 21:01
|- - ReAl   Цитата(Genadi Zawidowski @ Nov 4 2009, 23...   Nov 4 2009, 21:20
- - Genadi Zawidowski   Что не так в версии: Кодtemplate <uint8_t vola...   Nov 4 2009, 21:26
|- - ReAl   Цитата(Genadi Zawidowski @ Nov 4 2009, 23...   Nov 4 2009, 22:37
- - Genadi Zawidowski   Посмотрел на результат препроцессирования (-E)... ...   Nov 5 2009, 01:32
- - Waso   Genadi, даже если уйти от смещений и явно указыват...   Nov 5 2009, 05:45
|- - AHTOXA   Цитата(Waso @ Nov 5 2009, 10:45) .. Глян...   Nov 5 2009, 07:23
- - XVR   А не получится описать порты как переменные и зада...   Nov 5 2009, 07:48
- - Waso   AHTOXA, посмотрел я на ваши труды и попробовал нап...   Nov 6 2009, 18:07
|- - AHTOXA   Цитата(Waso @ Nov 6 2009, 23:07) Сначала ...   Nov 6 2009, 20:02
|- - ReAl   Цитата(AHTOXA @ Nov 6 2009, 22:02) Потому...   Nov 6 2009, 20:43
|- - AHTOXA   Цитата(ReAl @ Nov 7 2009, 01:43) Зато, по...   Nov 6 2009, 20:47
|- - ReAl   Цитата(AHTOXA @ Nov 6 2009, 22:47) А что ...   Nov 7 2009, 09:37
- - Waso   ЦитатаНу и нормально Только #if defined (PORTA) - ...   Nov 7 2009, 19:19
|- - AHTOXA   Цитата(Waso @ Nov 8 2009, 00:19) У меня W...   Nov 7 2009, 22:17
- - Waso   Продолжу задавать вопросы по плюсам в этой теме. П...   Nov 24 2009, 18:19
- - XVR   Как только функции стали виртуальными у класса Mtx...   Nov 24 2009, 18:44
- - Waso   ЦитатаМожно спросить - нафига наследовать MtxButto...   Nov 25 2009, 06:16
- - Waso   Ладно, чтобы не смотрели на меня косо, открою карт...   Nov 26 2009, 07:19
- - XVR   Цитата(Waso @ Nov 26 2009, 10:19) Одна ви...   Nov 26 2009, 08:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016