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

 
 
> STM32F103, SPI master output
MySOL
сообщение Apr 13 2014, 05:58
Сообщение #1


Участник
*

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



Здравствуйте друзья! Нужна помощь в поимке особо опасной ошибки, скрывающейся в глубинах моего кода. Пытаюсь настроить SPI в режиме мастера и передать простой код. При отладке в KEIL'е все регистры встают на место, а вот при попытке записать данные в SPI1-DR ничего не происходит: регистр как был пустой, так и остался. Пытался брать примеры из интернета - тоже не отсылается ничего. Спасибо! P.S. хотелось бы реализовать всё без std_periph
CODE
#include "stm32f10x.h"
void InitAll(void);

void InitAll(void)
{
//Clock source
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;
RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;

//Initial GPIO
//SPI1_NSS alternate output push-pull
GPIOB->CRH &=~GPIO_CRH_CNF12;
GPIOB->CRH |=GPIO_CRH_CNF12_1;

GPIOB->CRH &=~GPIO_CRH_MODE12;
GPIOB->CRH |=GPIO_CRH_MODE12_1 | GPIO_CRH_MODE12_0;

//SPI1_SCK alternate output push-pull
GPIOB->CRH &=~GPIO_CRH_CNF13;
GPIOB->CRH |=GPIO_CRH_CNF13_1;

GPIOB->CRH &=~GPIO_CRH_MODE13;
GPIOB->CRH |=GPIO_CRH_MODE13_1 | GPIO_CRH_MODE13_0;

//SPI1_MISO input with pull-up/down
GPIOB->CRH &=~GPIO_CRH_CNF14;

GPIOB->CRH |=GPIO_CRH_CNF14_1;

GPIOB->CRH &=~GPIO_CRH_MODE14;

//SPI1_MOSI alternate output push-pull
GPIOB->CRH &=~GPIO_CRH_CNF15;
GPIOB->CRH |=GPIO_CRH_CNF15_1;

GPIOB->CRH &=~GPIO_CRH_MODE15;
GPIOB->CRH |=GPIO_CRH_MODE15_1 | GPIO_CRH_MODE15_0;

//SPI1_INIT
SPI1->CR1 |=SPI_CR1_MSTR | SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_SPE;

}

int __main(void)
{
InitAll();
while(1)
{
SPI1->DR =0xFF;
}
}


Сообщение отредактировал IgorKossak - Apr 13 2014, 14:15
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:40
Рейтинг@Mail.ru


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