Цитата(AndreyS @ Oct 18 2006, 13:37)

Согласен, что в 99% виноват я сам. Но 1% - это удобное представление информации о компиляции проекта (карта памяти как ОЗУ так и ПЗУ).
Если вам нужно наглядное представление глобальных переменных, то объявите одну глобальную структуру данных, которая будет состоять их мелких под-структур. Тогда точно все глобальные перменные будет лежать в одном месте ОЗУ и последовательно. Структуры удобно создавать с помощью typdef. А обращаться к ним через указатели.
например
Код
typdef struct st_uart
{
....
unsigned char uartBuf[20];
} st_uart;
typdef struct st_adc
{
....
} st_adc;
typdef struct st_var
{
.....
} st_var;
typedef struct st_globalData
{ st_uart uart0;
st_adc adc0;
st_val varl;
} st_globalData;
А потом перед main-ом объявляете
Код
st_globalData globalData;
st_globalData *pGD=&globalData;
Чтобы, например, обратиться ко 2-му символу в буфере UART в программе пишете
Код
unsigned char a;
a = pGD->uart0->uartBuf[1];
ну и т.д. и т.п. Может показаться, что писанины много, но зато имеем вполне переносимый на другие МК код.