Stm32 Spi

13-02-2014, 14:50 От: admin Посмотрели: 568
Работаю без SPL и на данный момент с ней работать не хочу (тут, что было бы лучше писать не надо - все бессмысленно).

Собрался подключить по SPI другое устройство (ENC28J60), но тут возникла незадача: SPI Работать отказывается. Во время отладки посмотрел состояние регистра SPI1_CR1, и, как оказалось, бит SPE не выставлен, как, впрочем и MSTR.



Вот что выдает GDB по этому поводу (SPI1_CR1):


x/2tb 0x40013000
0x40013000: 00000010 00000001

младший и старший байты регистра.



Код инициализации следующий:


void SetSPI (void)
{
// разрешаем тактирование порта A
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;

// настраиваем пины 4, 5, 6, 7 как выходы альтернативной функции
GPIOA->MODER &= ~(GPIO_MODER_MODER4 | GPIO_MODER_MODER5 | GPIO_MODER_MODER6 | GPIO_MODER_MODER7);
GPIOA->MODER |= GPIO_MODER_MODER4_1 | GPIO_MODER_MODER5_1 | GPIO_MODER_MODER6_1 | GPIO_MODER_MODER7_1;

// настройка скорости работы
GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4_1 | GPIO_OSPEEDER_OSPEEDR5_1 | GPIO_OSPEEDER_OSPEEDR6_1 | GPIO_OSPEEDER_OSPEEDR7_1;

// настройка альтернативных функций
// сначала сбрасываем, затем устанавливаем другие значения
// AF0 - для всех регистров gpio - SPI1
GPIOA->AFR[0] = 0;

// разрешаем тактирование SPI
RCC->APB2ENR |= RCC_APB2ENR_SPI1EN;

// включаем модуль SPI1.
// максимальная скорость передачи - 24МБод
// делаем ведущим
// полярность - отрицательная.
SPI1->CR1 = SPI_CR1_CPOL | SPI_CR1_MSTR | SPI_CR1_SSI;

// размер отправляемых и принимаемых данных по SPI равен 8 бит
SPI1->CR2 = SPI_CR2_DS_0 | SPI_CR2_DS_1 | SPI_CR2_DS_2;

// далее включаем SPI
SPI1->CR1 |= SPI_CR1_SPE;
}

Вообще та ли последовательность инициализации, или что-то надо менять. Может где ошибка закралась?
Раздел: STM32

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Stm32 Spi все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Апрель 2024    »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930