Цитата
Ссылочку на панель применённую вами (не на чип) приложите.
Так я не с панелью работаю, а с собственной платой. Ссылка на нее
http://electronix.ru/forum/index.php?showtopic=109835Цитата
Вместо FSMC использовать "ногодрыг" попробуйте
ОК. Тогда придется раскидывать 16 бит слова данных...
Я с утра уже голову ломаю - что-то не получается.
DA0-DA15 разкиданы по портам D и E.
С портом E у меня получилось писать биты слова 4-12 в биты порта 7-15:
GPIOE=((СЛОВО_ДАННЫХ <<3) & 0xFF80);
А как с портом D быть? Там должно быть так:
А именно
GPIOD.0 = бит_данных.2
GPIOD.1 - бит_данных.3
GPIOD.8 - бит_данных.13
GPIOD.9 - бит_данных.14
GPIOD.10 - бит_данных.15
GPIOD.14 - бит_данных.0
GPIOD.15 - бит_данных.1
Подскажите пожалуйста.
Тихо сам с собою....
Получилось писать вот так:
Цитата
GPIOE=((SRC <<3) & 0xFF80);
GPIOD &= ~(0xC703); //очищаем все биты которые будем копировать
GPIOD |= (SRC & 0x0004) >> (2-0); //выделили 2й бит и сдвинули его на нулевую позицию
GPIOD |= (SRC & 0x0008) >> (3-1);//выделили 3й бит и сдвинули на 1ю позицию
GPIOD |= (SRC & 0x2000) >> (13-8);//выделили 13й бит и сдвинули на 8ю позицию
GPIOD |= (SRC & 0x4000) >> (14-9);//выделили 14й бит и сдвинули на 9ю позицию
GPIOD |= (SRC & 0x8000) >> (15-10);//выделили 15й бит и сдвинули на 10ю позицию
GPIOD |= (SRC & 0x0001) << (14);//выделили 0й бит и сдвинули на 14ю позицию
GPIOD |= (SRC & 0x0002) << (14);//выделили 1й бит и сдвинули на 15ю позицию
Теперь попробую читать...
Сообщение отредактировал Salamander - Apr 7 2013, 13:11