Здравствуйте.
Имеется девайс: ADSP2185
Среда: VisualDSP 3.5
Из железа на руках ничего нет. Если напишу и всё получится - буду делать макет и тестить.
Задача состоит в том, чтобы научиться читать и писать в пины PF0, PF1, PF2. Документация предлагает мне три варианта.
1. SWCOND и CCODE. Но это, как я понял, есть только у ADSP219x.
2. Регистры Prog_Flag_Comp_Sel_Ctrl и Prog_Flag_Data (они описаны в cdef218x.h).
Кусок кода, который отражает их применение:
Prog_Flag_Comp_Sel_Ctrl=0x7b01; /* PF0=выход */
Prog_Flag_Data=0; /* PF0 низкий уровень */
Вроде что-то написано. Но как мне, например, переменить направление PF0 или узнать состояние PF1 - ни слова. Это при том, что я штудировал документацию и гуглил всё что было разумно.
3. Нашёл в одной доке следующий кусок текста, который поставил меня в тупик.
Flag I/O Pins
The ADSP-2185M has eight general purpose programmable
input/output flag pins. They are controlled by two memory
mapped registers. The PFTYPE register determines the direction,
1 = output and 0 = input. The PFDATA register is used to
read and write the values on the pins. Data being read from a
pin configured as an input is synchronized to the ADSP-2185M’s
clock. Bits that are programmed as outputs will read the value
being output. The PF pins default to input during reset.
Узнать дополнительно что-либо об этих PFTYPE и PFDATA не удалось.
Вобщем, вопрос такой. Как мне записать и считать значения из PF0, PF1, PF2. Буду благодарен за принципиальное объяснение. Ещё больше буду благодарен за объяснение с примерами. Ну и уж во век вас не забуду за кусок кода с комментариями.
Заранее спасибо.