stm8s003fp3,主模式,软件管理nss=1.msb先发,发送到74hc595。发送数据0101,0011,发现595显示的数据是0100,1101。移位寄存器移位了2位后,数据时钟才开始发出去了。void spi_init(){
RCC_SPI_ON;//spi模块时钟开
SPI_CPOL0;
SPI_CPHA0;
SPI_MSB;
SPI_M;//主模式
SPI_LINE_TWO;//双线全双工
SPI_LINE_TXRX;
SPI_DATACLK_DIV256;//数据时钟分频256
SPI_NSS_ON;
SPI_NSS1;
SPI_TXE_IE;
// IE_ON;
SPI_ON;
}
使用查询标志法发数据。
2024-5-7 16:01:31
查询的标志错了,之前一直查询的txe标志,晚上看stm32说明书,txe并非发完置一,而是数据搬到移位寄存器就置一。改成查询BSY正常了。
查询的标志错了,之前一直查询的txe标志,晚上看stm32说明书,txe并非发完置一,而是数据搬到移位寄存器就置一。改成查询BSY正常了。
举报