[an error occurred while processing this directive]
|
void SdramCase(int cnt,volatile int *data)
{
int i;
volatile unsigned far *ptrM=(unsigned far *)0x105555L;
for( i = 0 ; i < cnt / 2 ; i + + )
{
*ptrM = ( data[i*2] + (data[i*2+1]<<8) );
ptrM++;
}
}
смысл такой - указатель: на внешнюю SDRAM, отлаженную и рабочую.
data, хоть и обявлен как int, хранит байты, тем более что для 95 проца char все равно 2байта.
строкой этой
*ptrM = ( data[i*2] + (data[i*2+1]<<8) );
хочу 2байта в int склеить и в SDRAM выпихать
E-mail: info@telesys.ru