然后想问问,SPI1_Init里面,
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,ENABLE);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,DISABLE);
最后到底启用RCC没有呢? 这个问题因该是类型转换出了问题了,读2个字节数据变成读1个字节而编译器又把1字节的数据编译成2个字节的数据调用时第2个字节刚好又对IO操作的。所以出现IO电平的改变。 我觉得应该是类型转换的问题和你CS初始化的问题 stm1024 发表于 2018-6-28 10:56
我一开始在想,是不是你的外设有什么特别的地方,就是每次CS一拉低之后,出现了短路的现象?但是根据后面换 ...
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,ENABLE);是复位SPI1
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,DISABLE);是停止复位SPI1
我这样理解没错吧,
确实是换了读写函数就好了,是不是第一次用的读写函数没有先收SPI 导致某个标志位溢出导致的异常呢? 你在使用这些前,先把CS强制拉高一下试试?
页:
1
[2]