Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: адрес порта в IAR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
srm
мне нужно хранить в структуре данных адрес порта. в WinAvr это можно сделать так:

Код
struct some_struct
{
uint8 port;
};

some_struct x;

x.port = _SFR_IO_ADDR(PORTC);

// ...

_SFR_IO8(x.port) = 0xFF;


в IAR таких макросов нет. что можно сделать? пробовал запоминать адрес памяти, типа
Код
uint8 *p = (uint8*)&PORTC;

нужно типы преобразовывать и как-то некошерно sad.gif((
есть ли какие-то стандартные макросы для подобных вещей?
demiurg_spb
Есть. Делается всё одинаково для всех компиляторов.
Почитайте это.
И ещё может Вам пригодится... Поищите в поисковиках "макросы имени Аскольда Волкова"
Код
typedef struct
{
    volatile unsigned char* get;
    volatile unsigned char* put;
    volatile unsigned char* dir;
} port_t;

port_t porta =
{
    &PINA,
    &PORTA,
    &DDRA
};


*porta.dir = 0xff;
*porta.put = 0xff;

unsigned char value = *porta.get;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.