Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

SPI2 на STM32f415

Непрочитано 16.05.2014, 17:47  
bass1981
Гражданин KAZUS.RUN
 
Регистрация: 01.09.2007
Сообщений: 897
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
bass1981 на пути к лучшему
По умолчанию SPI2 на STM32f415

Доброго времени суток.
Не могу запустить SPI2 на мк STM32f415.... зависает на функции отправки. Может глаза замылились... Не могу разобраться в чем дело.
Код:
void SPI2_init(void)
  {
    
   
//	 RCC-›AHB1ENR |=RCC_AHB1ENR_GPIOAEN ;
    RCC-›APB1ENR |=RCC_APB1ENR_SPI2EN ;    
    RCC-›AHB1ENR |=RCC_AHB1ENR_GPIOBEN;    //GPIOB c
    
    GPIOB-›MODER &= ~
                   (GPIO_MODER_MODER12 |
                   GPIO_MODER_MODER13 | 
                   GPIO_MODER_MODER14 | 
                   GPIO_MODER_MODER15 
                                      );
    
   GPIOB-›MODER |= 
                   GPIO_MODER_MODER12_0 |
                   GPIO_MODER_MODER13_1 | 
                   GPIO_MODER_MODER14_1 | 
                   GPIO_MODER_MODER15_1
                                      ;
    
    
   GPIOB-›OTYPER &= ~
                    (GPIO_OTYPER_OT_12 | 
                     GPIO_OTYPER_OT_13 | 
                     GPIO_OTYPER_OT_14 |
                     GPIO_OTYPER_OT_15
                                      );
   GPIOB-›OSPEEDR &= ~
                    (GPIO_OSPEEDER_OSPEEDR12 | 
                    GPIO_OSPEEDER_OSPEEDR13 | 
                    GPIO_OSPEEDER_OSPEEDR14 | 
                    GPIO_OSPEEDER_OSPEEDR15
                                              );
                                              
   GPIOB-›OSPEEDR |= 
                    GPIO_OSPEEDER_OSPEEDR12_0 | 
                    GPIO_OSPEEDER_OSPEEDR13_0 | 
                    GPIO_OSPEEDER_OSPEEDR14_0 | 
                    GPIO_OSPEEDER_OSPEEDR15_0
                                              ;
    
    
   GPIOB-›PUPDR &= ~
                     (GPIO_PUPDR_PUPDR12 | 
                      GPIO_PUPDR_PUPDR13 |
                      GPIO_PUPDR_PUPDR14 |
                      GPIO_PUPDR_PUPDR15);
   
   //10 2
   
   GPIOB-›AFR[1] |= (5 ‹‹ 4*5) | (5 ‹‹ 4*6) | (5 ‹‹ 4*7);//включаем ольтернативную функцию 5 на порты 13 14 15.. 
     	SPI2-›CR1 |= 
						 SPI_CR1_BR_0 |     // 
						 SPI_CR1_BR_1 | 
						 SPI_CR1_BR_2 | 
						 SPI_CR1_MSTR |
						 SPI_CR1_SSI 	|				 
						 SPI_CR1_SSM 
						 ;	
	
	SPI2-›CR1 |= SPI_CR1_SPE;
	
  NVIC_SetPriority (SPI2_IRQn, 8); 
  NVIC_EnableIRQ(SPI2_IRQn);   	
}
uint8_t SPI2_send(uint8_t data)
{
   SPI1-›DR=data;
   while(!(SPI2-›SR & SPI_SR_RXNE)){}
        
   return SPI2-›DR;	
      
}
Может кто заметит ошибку.

Заранее спасибо.
Реклама:
bass1981 вне форума  
Непрочитано 16.05.2014, 18:15  
Hives
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: SPI2 на STM32f415

страшно лень копать, по предположу что зависает на неопределенной функции IRQ_SPI
еще вопрос: SPI1-›DR=data; ???
imho

Последний раз редактировалось Hives; 16.05.2014 в 18:17.
Hives вне форума  
Сказали "Спасибо" Hives
bass1981 (17.05.2014)
Непрочитано 16.05.2014, 18:17  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: SPI2 на STM32f415

Сообщение от bass1981 Посмотреть сообщение
uint8_t SPI2_send(uint8_t data)
{
SPI1-›DR=data;
while(!(SPI2-›SR & SPI_SR_RXNE)){}
return SPI2-›DR;
}
_______________
realid вне форума  
Сказали "Спасибо" realid
bass1981 (16.05.2014)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Keil 5 QuickStart с STM32F415 bass1981 ARM 137 22.05.2016 19:26
Тактирование для DFU-режима STM32F415 bass1981 ARM 1 15.10.2013 07:20


Часовой пояс GMT +4, время: 01:57.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.