Предварительно в код вписаны след. строки:
созданы 2 глоб. массива
unsigned int TFT_A[512]; // Глобальный буфер А
unsigned int TFT_B[512]; // Глобальный буфер Б
порт Б настроен на вход
TRISB = 0b1111111111111111;//читаем данные с A,B на PORTB
и собственно кусок кода для записи в массивы:
Код
unsigned int x;
for( x=0;x<512;x++){
TFT_A[x] = *(((unsigned char*)(&PORTB)));//чтение порта RB0-7
TFT_B[x] = *(((unsigned char*)(&PORTB))+1);//чтение порта RB8-15
}
for( x=0;x<512;x++){
TFT_A[x] = *(((unsigned char*)(&PORTB)));//чтение порта RB0-7
TFT_B[x] = *(((unsigned char*)(&PORTB))+1);//чтение порта RB8-15
}
Для отладки на порт подаётся 16ти битный сигнал со счётчика запрограмированного в плиске.проверено осциллографом. В результате чтение и запись старших битов кое-как, а младшие вообще не записываются.
Что я не так сделал? Заранее спасибо.