初级会员

- 积分
- 112
- 金钱
- 112
- 注册时间
- 2017-11-11
- 在线时间
- 16 小时
|
5金钱
基于STM32F030C8T6,利用SPI2资源
SPI配置如下(不含GPIO初始化):
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuples; //设置为双向双线全双工
SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //设置为主SPI
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //数据大小8位
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //SCK空闲位低电平
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //奇条边沿采样
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //NSS由软件控制
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256; //波特率预分频值为256
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //数据传输从MSB位开始
SPI_InitStructure.SPI_CRCPolynomial = 7;
问题:
1.调试的时候,监视窗口中SPI2->DR的数据为0x9200(92h是我想要的数据),难道不应该是0x0092吗?
2.我看例程,SPI读数据是发一个0,即 #define SPIRead() SPIWrite(0),而我的程序发完从机寄存器地址还没等我调用SPIRead()函数就返回数据了,这样正常吗?
|
|