STM8S에서 UART를 동기 모드로 변경하고 이를 이용해 SPI 송신을 구현해 보았다.

 

 

 

    //동기 USART 설정 함..
    UART1_DeInit();
    UART1_Init((uint32_t)400000, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO,
              (UART1_SyncMode_TypeDef)(UART1_SYNCMODE_CLOCK_ENABLE |

               UART1_SYNCMODE_CPOL_HIGH |UART1_SYNCMODE_CPHA_MIDDLE | 

               UART1_SYNCMODE_LASTBIT_ENABLE),
               UART1_MODE_TXRX_ENABLE);

 

    /* Enable the UART1*/
    UART1_Cmd(ENABLE);

 

 

 

400000 은 SPI의 전송 속도

(UART1_SyncMode_TypeDef)(UART1_SYNCMODE_CLOCK_ENABLE | UART1_SYNCMODE_CPOL_HIGH |UART1_SYNCMODE_CPHA_MIDDLE | UART1_SYNCMODE_LASTBIT_ENABLE) 문장에서 SPI의 모드를 설정 한다.

 

 

 

  char data;

 

  UART1_SendData8( data );
  /* Wait until end of transmit */
  while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET)
  {
  }

 

 

인터럽트를 사용하지 않고 전송하는 예다.

 

 

 

+ Recent posts