Перейти к содержанию
    

alexeika007

Участник
  • Постов

    9
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о alexeika007

  • День рождения 18.12.1988

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. а разве нужно указывать размер int_rx_data = *pSPORT1_RX16? Просто получается ситуация что в FIFO данные приходят, а по команде rsx = *pSort1_RX я не забираю их, а новые приходят и происходит переполнение. Может кто-нить сталкивался или у кого-нить есть мысли какие-нить, просто я уже перепробовал все, даже абсурдные мысли...
  2. Доброго времени суток. В своей программе принимаю данные от АЦП по двум каналам через спорт1. АЦП 14 разрядов, вроде настроил порт, посмотрел осциллограммы, меня все устраивает (по осциллограмме посчитал). Но данные принимаю какие-то кривые, и принимаю их 1 раз, а потом буфер переполняется( Пример команды на сичтывание: rsx = *pSort1_RX; rxf = *pSort1_RX; Правильный ли формат команды на считывание данных? И еще а регистре статуса сам блэкфин 537 скидывает 1-й бит (о наличие данных в фифо) или же его надо самому в ручную скинуть?
  3. Если не секрет, сам мучаюсь уже 2-й день. У меня спорт 1 работает тоже первые 8 на ввол и вывод, а остальные 8 (задействовано 4 из них) эмитируют SPI интерфейс для подключения 14-ти разрядного стерео АЦП. Не пойму - получаю какую-то фигню. Если не сложно, пришли код настройки.
  4. Опять вернулся к SPORT, объясните, пожалуйста, как выбираются *pSPORT1_RCLKDIV= 14; *pSPORT1_RFSDIV =6; Только не надо приводить ссылок из книг. Формула у меня есть, но что туда подставлять?
  5. Неа, условие такое считывать без DMA
  6. Задача считать данные с 14-ти разрядного АЦП (AD 7357) от Аналог Девайс через Sport1? вот текст // настройка SPORT1 *pSPORT1_RCLKDIV= 99; ssync(); *pSPORT1_RFSDIV = 1000; ssync(); *pSPORT1_RCR2= 0x0d; ssync(); *pSPORT1_RCR1= RCKFE | RFSR | IRCLK | IRFS | LRFS | RSPEN; Вот прерывание: EX_INTERRUPT_HANDLER(SPORT1_RX_ISR) { if (*pSPORT1_STAT & 1) { rxf = *pSPORT1_RX; rxt = *pSPORT1_RX; } В данном случае происходит переполнение FiFO, сейчас вариант немного другой: // настройка SPORT1 *pSPORT1_RCLKDIV= 14; ssync(); *pSPORT1_RFSDIV =6; ssync(); *pSPORT1_RCR2= 0x10 | RXSE; ssync(); *pSPORT1_RCR1= RCKFE | RFSR | IRCLK | IRFS | RSPEN; Правда точно щас не скажу значение *pSPORT1_RFSDIV, потому что подбирал.... А проект на работе(( И в прерывание добавил цикл, проверки ROVF|RUVF, если они есть, заново прописать настройки порта... Работает, но мне кажется, что что-то здесь не так...
  7. Как это реализовать. В книжке я прочитал) Просто я только 2-ю неделю занимаюсь программированием(( Я вообще учился и работал раньше по другой специальности(
  8. Считаю я их ядром. Да, я просто неправильно выразился, а если быть точным, то ошибся. так может флаг прерывания сбрасывать надо? ну или там все данные вычитать чтобы сам сбросился Да, сегодня сделал немного по-другому. Просто после того как данные пришли, я обнулил регистр статуса. Теперь другая проблема данные какие-то странные))) Не могли бы вы подсказать как еще можно сбросить флаг прерывания? И еще несколько просьб, никто не может дать ссылку на литературу о том как порт настроить. Ну т.е. мы задаем параметры СПРОТа и там мы указываем RCLKDIV и RFSDIV, как выбираются их параметры?
  9. Ситуация такая: уже 2 дня бьюсь над тем, что бы организовать прием данных с ацп и дальнейшую обработку их процессором BlackFin537. Вроде прописал все настройки, написал прерывания, проверил кучу раз. С осциллографом пролазил CS и SCLK, все правильно приходит, а данных нет.... А если быть точнее, то процессор находится в прерывании постоянно и не отвечает на остальные команды.... состояние регистра SPORT1_STAT= 0045.
×
×
  • Создать...