Цитата(Евгений Германович @ Oct 25 2008, 19:59)

про варнинг,сегодня проверял вот текст
Код
#include "C:\Program Files\HI-TECH Software\PICC-18\STD\9.51\samples\delay\delay.h";
...
__delay_ms(10);
//DelayMs(40);
Ругань идет при использовании __delay,Если эту штуку не применять то XTAL_FREQ 13MHZ что с чертой спереди что без -все тихо и спокойно.
Воистину, в огороде бузина... Как соотносятся __delay_ms() и DelayMs()?
Если Вы пытаетесь использовать DelayMs() из C:\Program Files\HI-TECH Software\PICC-18\STD\9.51\samples\delay\delay.h, то там черным по-Сишному:
Код
void DelayMs(unsigned char);
Если Вы написали свою __delay_ms(), то я, увы, не смог телепнуть ни ее текст, ни ругань по ее поводу.
Цитата
Меня до неприличия заинтересовал вопро о принудительном определении места в памяти переменных,но как бы я не изголялся с банком -никакого эффекта.
Оно Вам точно надо?
Код
int Abc @ 0x192; // и никаких чудес
// если память контроллера нарезана банками по 256 байт,
// то Abc попадет в bank1 по смещению 0x92
Abc = 1234;
manual.pdf
Цитата
3.4.2 Absolute Variables
Эта конструкция предназначена в первую очередь для согласования адресов Сишных переменных с регистрами специального назначения микропроцессора, но может быть использована и для размещения переменных пользователя по абсолютным адресам. Компилятор и линкер не производят никаких проверок на перекрытие абсолютных переменных друг с другом.
Определение абсолютных переменных может фрагментировать память и сделать невозможным для линкера размещение других объектов. По возможности избегайте использования абсолютных переменных. Если абсолютные переменные все же должны быть определены, старайтесь размещать их в одном конце памяти одним куском. (в оригинале "try to place them at one end of a memory bank or space", но под вечер беда с более точным переводом)
Посмотрите любой из хидеров в C:\Program Files\HI-TECH Software\PICC-18\STD\9.51\include - там таким образом описаны все SFR.