реклама на сайте
подробности

 
 
> SPI+DMA, приём данных
Dubov
сообщение Aug 14 2012, 13:08
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Камень AT91SAMXE512
Есть пример из библиотеки для чтения данных из SPI через DMA

CODE
//------------------------------------------------------------------------------
/// Reads data from a SPI peripheral until the provided buffer is filled. This
/// method does NOT need to be called after SPI_Write or SPI_WriteBuffer.
/// \param spi Pointer to an AT91S_SPI instance.
/// \param buffer Data buffer to store incoming bytes.
/// \param length Length in bytes of the data buffer.
//------------------------------------------------------------------------------
unsigned char SPI_ReadBuffer(AT91S_SPI *spi,
void *buffer,
unsigned int length)
{
#if !defined(CHIP_SPI_DMA)
// Check if the first bank is free
if (spi->SPI_RCR == 0) {

spi->SPI_RPR = (unsigned int) buffer;
spi->SPI_RCR = length;
spi->SPI_PTCR = AT91C_PDC_RXTEN;
return 1;
}
// Check if second bank is free
else if (spi->SPI_RNCR == 0) {

spi->SPI_RNPR = (unsigned int) buffer;
spi->SPI_RNCR = length;
return 1;
}
#endif
// No free bank
return 0;
}


я всегда думал что если что-то нужно получить из SPI, то что-то нужно отправить, а тут что-то непонятное. Как применить эту функцию для получения данных?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dubov   SPI+DMA   Aug 14 2012, 13:08
- - aaarrr   Цитата(Dubov @ Aug 14 2012, 17:08) я всег...   Aug 14 2012, 13:14
|- - Dubov   Цитата(aaarrr @ Aug 14 2012, 16:14) Совер...   Aug 14 2012, 14:11
|- - _Pasha   Цитата(Dubov @ Aug 14 2012, 17:11) Но поч...   Aug 14 2012, 14:50
- - _Pasha   ChanFAT & Martin Thomas тут нормальный пример,...   Aug 14 2012, 13:29
- - aaarrr   Цитата(_Pasha @ Aug 14 2012, 17:29) Пытал...   Aug 14 2012, 14:16
|- - Dubov   Цитата(aaarrr @ Aug 14 2012, 17:16) Код т...   Aug 14 2012, 14:31
- - aaarrr   Передача может осуществляться любым способом. Прог...   Aug 14 2012, 14:33
|- - Dubov   Цитата(aaarrr @ Aug 14 2012, 17:33) Перед...   Aug 14 2012, 14:39
|- - aaarrr   Цитата(Dubov @ Aug 14 2012, 18:39) А как ...   Aug 14 2012, 15:32
|- - Dubov   просто следовал совету: Цитата(aaarrr @ Aug 1...   Aug 15 2012, 12:28
- - Dubov   Тогда проще использовать это: CODE//-------------...   Aug 14 2012, 15:45
|- - aaarrr   Цитата(Dubov @ Aug 14 2012, 19:45) Тогда ...   Aug 14 2012, 16:18
- - Dubov   Да нет, нужно просто данные принимать, но чтобы чт...   Aug 14 2012, 17:20
|- - aaarrr   Цитата(Dubov @ Aug 14 2012, 21:20) А заче...   Aug 14 2012, 17:24
|- - _Pasha   Цитата(Dubov @ Aug 14 2012, 20:20) А заче...   Aug 14 2012, 17:45
|- - Dubov   Цитата(_Pasha @ Aug 14 2012, 20:45) Если ...   Aug 15 2012, 07:11
- - sasamy   Цитата(Dubov @ Aug 14 2012, 17:08) Камень...   Aug 14 2012, 18:27
- - Dubov   Всё, кажется разобрался. Функция чтения выглядит т...   Aug 15 2012, 11:39
- - Lotor   Цитатаwhile(! (*AT91C_SPI_SR & AT91C_SPI_E...   Aug 15 2012, 12:10


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016