我用stm8的硬件spi来通信,但是当我开启全局中断的时候,总是死在这句话上。
我的spi配置是:/*NRF的spi时钟和相位极性配置 注:时钟初始电平为低电平*/
void spi_init()
{
gpio_init(); //spi的引脚配置
CLK_PeripheralClockConfig(CLK_Peripheral_SPI1,ENABLE); //开启stm8l的内部外设时钟的时钟
/*spi,最高位首传,spi的波特率,spi的主从模式,时钟和相位极性设置,时钟数据线几线,软件或硬件片选,crc的多项式*/
SPI_Init(SPI1,SPI_FirstBit_MSB,SPI_BaudRatePrescaler_2,SPI_Mode_Master,SPI_CPOL_Low,SPI_CPHA_1Edge,SPI_Direction_2Lines_FullDuplex,SPI_NSS_Soft,0x07);
SPI_Cmd(SPI1,ENABLE); //开启spi外设
while(SPI_GetFlagStatus(SPI1,SPI_FLAG_BSY)); //spi在不忙的时候继续下面操作
}
但是当我加上全局中断enableInterrupts();这句话是,程序就死在这。不知怎么回事,希望大家帮看看 |