#include "stm32f0xx.h" #include "stm32f0xx_gpio.h" #include "stm32f0xx_rcc.h" #include "stm32f0xx_spi.h" void main() { /*Clock für die Peripherie einschalten*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB , ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC , ENABLE); /* Benötigte PINS aktivieren */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_Init(GPIOC, &GPIO_InitStructure); ///*SPI1-Konfigurieren*/ SPI_InitTypeDef SPI_InitStructure; SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Hard; //Nicht verwendet SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI1, &SPI_InitStructure); /*SPI1 aktivieren*/ SPI_Cmd(SPI1, ENABLE); /*Clock für die Peripherie einschalten*/ //RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); //RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); /* Benötigte PINS aktivieren */ //GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; //GPIO_Init(GPIOB, &GPIO_InitStructure); /*SPI2-Konfigurieren*/ //SPI_InitStructure.SPI_Mode = SPI_Mode_Slave; //Empfänger ist Slave /*SPI2 aktivieren*/ //SPI_Cmd(SPI2, ENABLE); uint32_t i = 0; uint8_t c_daten =0; while (1) { c_daten=0; GPIO_SetBits(GPIOC, GPIO_Pin_8); SPI_SendData8(SPI1,0xFF); /* 100 ms delay */ //for(i=0;i<10000;i++){} //c_daten = SPI_ReceiveData8(SPI2); /* 100 ms delay */ } }