Здравствуйте.
Имеется девайс: 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. Буду благодарен за принципиальное объяснение. Ещё больше буду благодарен за объяснение с примерами. Ну и уж во век вас не забуду за кусок кода с комментариями.
Заранее спасибо.
|