ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
455067 Топик полностью
plainuser (18.10.2013 09:32, просмотров: 194) ответил Constantin24 на настраивал в соответствии с примерами из библиотеки
Рабочий примерчик STM32F103 , может чем поможет. 

//---------------------------------------------------------------------------
// SPI1  Init CounterMode   (HSI=SysCLK=8Mhz)   SCLK=8/16=500kHz
//---------------------------------------------------------------------------
void SPI_InitCounterMode(void)
 {
  SPI_InitTypeDef SPI_InitStruct;    // Структура настроек SPI
  
  SPI_I2S_DeInit( SPI1 );            // Отречемся от старого мира

  // Забивка структуры значениями по-умолчанию
  SPI_StructInit(&SPI_InitStruct);
	
  // Настройки SPI
  SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;   // Коэфф. делителя. Тактовая частота SCLK = F_pclk / коэфф. делителя
  SPI_InitStruct.SPI_CPHA = SPI_CPHA_1Edge;                          // Активный фронт тактового сигнала (первый или второй)
  SPI_InitStruct.SPI_CPOL = SPI_CPOL_Low;                            // Устойчивое состояние тактового сигнала (низкое или высокое)
  SPI_InitStruct.SPI_DataSize = SPI_DataSize_8b;                     // Формат данных (8 бит или 16 бит)
  SPI_InitStruct.SPI_Direction = SPI_Direction_2Lines_FullDuplex;    // Выбрать две однонаправленные линии (MISO и MOSI)
  SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB;                    // Первый бит в потоке (MSB или LSB)
  SPI_InitStruct.SPI_Mode = SPI_Mode_Master;                         // Ведущий режим
  SPI_InitStruct.SPI_NSS = SPI_NSS_Soft;

  // Затактируем SPI1
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);               // SPI1 тактируется от APB2. Разрешить тактирование.

  // Настроим SPI1 	 
  SPI_Init(SPI1, &SPI_InitStruct);

  // Включим SPI
  SPI_Cmd(SPI1, ENABLE);
 }