Пишу программный драйвер интерфейса, создал под это дело класс обертку и хочу конфигурировать интерфейс (назначать ноги МК), чтобы можно было поднять несколько интерфейсов параллельно на разных ногах, создав несколько объектов.
Пробовал вот так:
Код
void foo (unsigned char PORTx)
{
*(unsigned char*)PORTx=0xFF;
}
void main(void)
{
foo(PORTA);
}
{
*(unsigned char*)PORTx=0xFF;
}
void main(void)
{
foo(PORTA);
}
такой вариант не работает.... и компилятор ругается на строку вызова функции:
Код
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement