Guest User

Untitled

a guest
Jan 17th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. void cfgSPI1(void)
  2. {
  3. //Initialize SPI peripheral
  4. RCC -> APB2ENR |= RCC_APB2ENR_SPI1EN;
  5. //Set baud rate to fclk/128
  6. SPI1 -> CR1 |= SPI_CR1_BR_2 | SPI_CR1_BR_1;
  7. SPI1 -> CR1 |= SPI_CR1_SSM | SPI_CR1_SSI;
  8. //Set it as master
  9. SPI1 -> CR1 |= SPI_CR1_MSTR;
  10. SPI1 -> CR1 |= SPI_CR1_SPE;
  11.  
  12. //Enable GPIOA peripheral clock and configure GPIO pins
  13. RCC -> APB2ENR |= RCC_APB2ENR_IOPAEN;
  14. //NSS
  15. GPIOA -> CRL |= GPIO_CRL_CNF4_1;
  16. //SCK
  17. GPIOA -> CRL |= GPIO_CRL_MODE5_1 | GPIO_CRL_MODE5_0;
  18. GPIOA -> CRL |= GPIO_CRL_CNF5_1;
  19. //MISO
  20. GPIOA -> CRL |= GPIO_CRL_MODE6_1 | GPIO_CRL_MODE6_0;
  21. GPIOA -> CRL |= GPIO_CRL_CNF6_1;
  22. //MOSI
  23. GPIOA -> CRL |= GPIO_CRL_MODE7_1 | GPIO_CRL_MODE7_0;
  24. GPIOA -> CRL |= GPIO_CRL_CNF7_1;
  25. }
  26.  
  27. void TIM2_IRQHandler(void)
  28. {
  29. TIM2->SR &= ~(TIM_SR_UIF);
  30. //Set slave select to low
  31. GPIOA -> ODR &= GPIO_ODR_ODR4;
  32. //Transfer 1 over SPI
  33. SPI1 -> DR |= 1;
  34. //Wait until transfer is completed
  35. while (!(SPI1->SR & (SPI_SR_TXE)));
  36. // Wait until receive complete
  37. while (!(SPI1->SR & (SPI_SR_RXNE)));
  38. // Wait until SPI is not busy anymore
  39. while (SPI1->SR & (SPI_SR_BSY));
  40. int i = SPI1 -> DR;
  41. GPIOA -> ODR |= GPIO_ODR_ODR4;
  42. // Toggle the LED output pin.
  43. GPIOC->ODR ^= GPIO_ODR_ODR13 ;
  44. }
  45.  
  46. #include "Arduino.h"
  47.  
  48. ISR(SPI_STC_vect)
  49. {
  50. uint8_t data_byte = SPDR;
  51. Serial.print(data_byte);
  52. Serial.print("test")
  53. }
  54.  
  55. void setup()
  56. {
  57. Serial.begin(9600);
  58. // Set MISO pin as output
  59. pinMode(MISO, OUTPUT);
  60. // Turn on SPI in slave mode
  61. SPCR |= (1 << SPE);
  62. // Turn on interrupt
  63. interrupts();
  64. SPCR |= (1 << SPIE);
  65. }
  66.  
  67. void loop()
  68. {
  69. }
Add Comment
Please, Sign In to add comment