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

 
 
> SSP в LPC23хх, подняти транспорта
Bosicc
сообщение May 24 2007, 08:28
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Вот начал разбираться с SSP под кристал LPC2378.
Возникло пару вопросов:
  1. Какого размера FIFO для приема и передачи по SSP и где в документации это можно найти что б почитать?
  2. Как работать с DMA при передачи по SSP?
  3. Как загрузить массив даных на передачу в TX FIFO?

Если есть немного опыта, поделитесь smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
KRS
сообщение May 24 2007, 08:32
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



В user.manual.lpc2364.lpc2366.lpc2368.lpc2378.pdf все описано!
http://www.standardics.nxp.com/support/documents/?type=user
Go to the top of the page
 
+Quote Post
Bosicc
сообщение May 25 2007, 02:04
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Цитата(KRS @ May 24 2007, 10:32) *
В user.manual.lpc2364.lpc2366.lpc2368.lpc2378.pdf все описано!
http://www.standardics.nxp.com/support/documents/?type=user


Этот документ, а именно глава 17 была прочитана от первой до последней буквы минимум 5 раз. И всеравно я не понимаю почему у меня нет никаких признаков жизни на ногах.

Вот что я делаю.

1. Инициализирую ( выбираю ноги, настраиваю прерывания, задаю ему режим мастера + все необходимые настройки )
2. отправляю 1 байт

Но никакой реакции. Может я что то забыл? Ниже код который мучаю на даный момент.

Код
VICVectAddr10 = (unsigned long)spp0_isr; // SPP Interrupt -> Vector 10
VICVectCntl10 = 10;                         // Set Priority
VICIntEnable |= 1 << 10;                        // Enable SPP Interrupt -> Set bit 10

PCON |= (1<<21);                   // ADD Power
PINSEL0 |= (2<<30);                  // Select SCK
PINSEL1 |= (2<<0)|(2<<2)|(2<<4);    // Select SSEL, MOSI, MISO
    
        
SSP0CPSR = 12;                    // Set devider for SCK (CPSDVSR)

SSP0CR0 = (0<<8)|(sck_level<<7)|(tx_clk<<6)|(protocol<<4)|(bits-1);
                            // Serial Clock rate:     F = PCLK/(CPSDVSR*[SCR+1]) | bits 15..8
                            // Clock Out Phase:     0 = a                      | bit  7
                            // Clock Out Polarity:    control transmit               | bit  6
                            // Frame Format:        00-SPI                      | bit  5..4
                            // Data size select:    0x3-4bits... 0xF-16bits                  | bits 0..3

SSP0IMSC = (0<<3)|(0<<2)|(0<<1)|(0<<0);
                            // Enable Int Recieve Overrun occurs                  | bit 0
                            // Enable Int Recieve timeout                     | bit 1
                            // Enable Int RxFIFO is at least half full                 | bit 2
                            // Enable Int TxFIFO is at least half full                 | bit 3

SSP0DMACR = (1<<1)|(1<<0);         // Enable DMA for TX FIFO and RX FIFO      | bit 1,0

SSP0CR1 = (0<<3)|(mode<<2)|(1<<1)|(0);
                            // Loop Back Mode:                       | bit 0
                            // SSP Enable:                              | bit 1
                            // Mode:             aster, 1-Slave          | bit 2
                                // Slave output disable.

SSP0DR = 0хABBA;
Go to the top of the page
 
+Quote Post
KRS
сообщение May 25 2007, 10:20
Сообщение #4


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



А еще надо нужные ноги на выход настроить через IOxDIR регистр.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 25 2007, 11:13
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(KRS @ May 25 2007, 16:20) *
А еще надо нужные ноги на выход настроить через IOxDIR регистр.

А раньше такого не было 07.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 25 2007, 11:24
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(KRS @ May 25 2007, 13:20) *
А еще надо нужные ноги на выход настроить через IOxDIR регистр.

Нет. IODIR для не GPIO игнорируется.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:07
Рейтинг@Mail.ru


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