求助,STM8S903 SPI寄存器写不入

2020-01-10 19:40发布

原来在STM8S003上可以正常用的程序,移植到STM8S903上,SPI寄存器写不入,仿真时看了,写寄存器根本没变化,写SPI->CR1没有变化,SPI端口也没有信号输出。外设时钟已经打开。程序如下:
void clk_init(void)
{
        CLK_DeInit();
        CLK->CKDIVR = CLK_CKDIVR_reset_value;
        CLK->PCKENR1 = 0xba;//TIM1TIM5TIM6UARTSPI
        CLK->PCKENR2 = 0;
}

void spi_init(void)
{
        SPI_DeInit();
        SPI->CR1=0x44;                                                //先发MSB,开启SPI,波特率CPU/2,主模式,SCK空闲低,采样由第一时钟边沿开始
}

void SPI_DeInit(void)
{
    SPI->CR1    = SPI_CR1_RESET_VALUE;
    SPI->CR2    = SPI_CR2_RESET_VALUE;
    SPI->ICR    = SPI_ICR_RESET_VALUE;
    SPI->SR     = SPI_SR_RESET_VALUE;
    SPI->CRCPR  = SPI_CRCPR_RESET_VALUE;
}
0条回答

一周热门 更多>