gosha 0 13 января, 2011 Опубликовано 13 января, 2011 · Жалоба Написал втупую такую ф-ю по аналогии с примером от Visual DSP: Все компилится. Но в datasheet указано, что для adsp 21638 DPI содержит 2 модуля spi. В коде это как указать, какой spi подключить к inout pin? static void set_dpi(void) {SRU2(SPI_MOSI_O, DPI_PB01_I); SRU2(HIGH, DPI_PBEN01_I); SRU2(SPI_MISO_I, DPI_PB02_I); SRU2(LOW, DPI_PBEN02_I); SRU2(SPI_CLK_O, DPI_PB03_I); SRU2(HIGH, DPI_PBEN03_I); SRU2(FLAG0_O, DPI_PB05_I); /* flag pins to act as chip select */ SRU2(HIGH, DPI_PBEN05_I); return; } Пропадаю. Документация от AD отстой по сравнению с TI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hobgoblin 0 13 января, 2011 Опубликовано 13 января, 2011 · Жалоба Не работал с этим семейством процов, но чтото подсказывает что достаточно поменять SPI_MOSI_O на SPIB_MOSI_O и т.д :rolleyes: . См. заголовочный файл "sru21369.h". Ссылка на заголовочный файл "sru.h", из которого подключается заголовочный файл для конкретного процессора, в HRM имеется ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bookevg 0 17 января, 2011 Опубликовано 17 января, 2011 · Жалоба Пропадаю. Документация от AD отстой по сравнению с TI. Если SPI работает по прерываниям, то можете работать только со одним SPIA, а если в режиме DMA, то из-за ограничения (достаточного дурацкого - это ограничение идет еще от ADSP-219x) - суть которого работа SPI в режиме DMA только на прием или на только передачу - вам необходимо задействовать SPIB. А к документации надо привыкать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться