Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
22.03.2011, 00:23
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
ARM7 SPI (LPC2129)
Есть функция инициализации модуля SPI1. В железе регистры
S1SPCR и S1SPCCR не записываются (нули). Порыл доку, все вродь правильно делаю. Или нет?
Код:
|
void spi_init (void)
{
/* Initialize and enable the SSP Interface module. */
/* SSEL, MMC_CS is GPIO, output set to high. */
IO0DIR |= (1‹‹MMC_CS);
IO0SET = (1‹‹MMC_CS);
/* SCK1, MISO1, MOSI1 are SSP pins. */
PINSEL1 = (PINSEL1 & ~0x000003FC) | 0x000002A8;
/* Enable SPI in Master Mode, CPOL=1, CPHA=1 (Clock low-active). */
S1SPCR = 0x0038;
/* Set SPI Speed ~ 400 kHz*/
S1SPCCR = 0x94;
} |
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
22.03.2011, 00:29
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: ARM7 SPI (LPC2129)
alberio, Сначала , если не ошибаюсь, разрешаем тактирование модуля .
Или нет ?
__________________
Осторожно , злой кот
|
|
|
|
22.03.2011, 00:50
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: ARM7 SPI (LPC2129)
Было отключено питание SPI1 в PCONP. Регистры записались. Но все равно передача виснет в ожидании флага готовности:
Код:
|
U8 spi_send (U8 outb)
{
/* Write and Read a byte on SPI interface. */
S1SPDR = outb;
/* Wait while data transmitting */
while ((S1SPSR & 0x80) == 0x00);
return S1SPDR;
} |
А на счет тактирования... Черт, не могу найти. Не ткнете носом?
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
22.03.2011, 00:53
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: ARM7 SPI (LPC2129)
Сообщение от alberio
|
А на счет тактирования... Черт, не могу найти. Не ткнете носом?
|
Может и не то ляпнул , я сужу по stm32 .
__________________
Осторожно , злой кот
|
|
|
|
22.03.2011, 17:35
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: ARM7 SPI (LPC2129)
На ноге SSEL1 висит единичка ?
Вот, в мануале нашёл
Цитата:
|
LPC2119/2129/2194/2292/2294 configured to operate as SPI master MUST select
SSEL functionality on an apropriate pin and have HIGH level on this pin in order to act
as a master.
|
|
|
|
Сказали "Спасибо" Yurkin2007
|
|
|
22.03.2011, 17:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: ARM7 SPI (LPC2129)
Сообщение от alberio
|
/* SSEL, MMC_CS is GPIO, output set to high. */
|
При использовании SPI SSEL должен быть выбран как относящийся к SPI модулю и притянут к +, если только мастер, иначе передача идти не будет. Есть такая неприятная особенность у филипсов.
Цитата:
|
Note: LPC___ configured to operate as SPI master MUST select SSEL functionality on an apropriate pin and have HIGH level on this pin in order to act as a master.
|
Сообщение от alberio
|
А на счет тактирования... Черт, не могу найти. Не ткнете носом?
|
Оно включается в PCONP, других регистров управления раздельным питанием/тактированием в 2129 нет.
Последний раз редактировалось AJScorp; 22.03.2011 в 17:53.
Причина: Добавил про тактирование
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
23.03.2011, 15:49
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: ARM7 SPI (LPC2129)
Да, в этом была проблема. Спасибо всем за участие!
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:59.
|
|