STM32 SPI与FLASH通信有关函数问题

为什么上位机上单独返回temp1是0xEFtemp2是0x40temp3是0x15最后做了个运算temp=(temp1<<16)|(temp2<<8)|temp3;为什么... 为什么上位机上单独返回 temp1 是 0xEF temp2 是0x40 temp3是0x15
最后做了个运算temp = (temp1 << 16) | (temp2 << 8) | temp3;
为什么最后上位机返回的temp是0x15?
u8 SPI_FLASH_ReadID(void)
{
u32 temp1 = 0;
u32 temp2 = 0;
u32 temp3 = 0;
u32 temp = 0;

SPI_FLASH_CS_LOW();

SPI_FLASH_SendByte(W25Q_JEDECID);

temp1 = SPI_FLASH_SendByte(0xff);
temp2 = SPI_FLASH_SendByte(0xff);
temp3 = SPI_FLASH_SendByte(0xff);

SPI_FLASH_CS_HIGH();

temp = (temp1 << 16) | (temp2 << 8) | temp3;

return temp;
}
展开
 我来答
蓝梦道尊闯天涯
2015-02-06 · 超过11用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:20.5万
展开全部
1)TX接RXRX接TX\r\n2)钟配置、GPIO配置、USART初始化、断优先级初始化、使能断\r\n3)写发送函数、接收函数
追问
我知道我哪里有问题了  是SPI初始化时预分频系数的问题   改成
SPI_BaudRatePrescaler_4; 就没问题 我一开始设置的是2
超出它工作最大频率18MHz了。。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式