Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //note: I know that names of functions are messed up, I did it on purpose.
- //note: no SPL... no exceptions
- void SPI3Init()
- {
- RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN | RCC_AHB1ENR_GPIOBEN;
- RCC->APB2ENR |= RCC_APB2ENR_SPI1EN;
- // GPIOB->MODER |= (2<<(3*2)) | (2<<(4*2)) | (2<<(5*2));
- GPIOA->MODER |= (2<<(MOSI1*2)) | (2<<(MISO1*2)) | (2<<(SCK1*2));
- // GPIOB->AFR[0]|= (spin<<(3*4)) |(spin<<(4*4)) |(spin<<(5*4));
- GPIOA->AFR[0]|= (5<<(MOSI1*4)) | (5<<(MISO1*4)) | (5<<(SCK1*4));
- SPI1->CR1 |= SPI_BRPsc_8 | SPI_CR1_SSM | SPI_CR1_SSI;// | SPI_CR1_LSBFIRST;
- SPI1->CR1 |= SPI_CR1_SPE | SPI_CR1_MSTR;
- }
- //SPI1_MISO -> PA6
- //SPI1_MOSI -> PA7
- //SPI1_SCK -> PA5
- uint8_t SPI3_send(unsigned char n)
- {
- SPI1->DR = n;
- while(!(SPI1->SR & (SPI_SR_TXE)));
- while(!(SPI1->SR & (SPI_SR_RXNE)));
- return (SPI1->DR);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement