金牌会员
 
- 积分
- 1718
- 金钱
- 1718
- 注册时间
- 2019-8-4
- 在线时间
- 269 小时
|
发表于 2022-2-16 16:48:41
|
显示全部楼层
你好,可以咨询你个问题吗?我现在用的F407的单片机,用模拟spi驱动w25q16,在读取芯片ID的时候,应该读出来的结果是0xEF14(十进制61204),但是我都出来的结果是61680,这个是那个地方没处理好,才导致这样的结果呀
- static uint8 spi_readwrite0209(uint8 byte)
- {
- uint8 i;
- uint8 rcv=0;
-
- for(i=0;i<8;i++)
- {
- // W25QXX_SCK_LOW(); /* sclk为低电平 */
- if(byte & 0x80)
- {
- W25QXX_MOSI_HIGN(); /* 有数据为上升沿 */
- }
- else
- {
- W25QXX_MOSI_LOW();
- }
-
- // udelay(1);
- byte <<= 1;
- W25QXX_SCK_LOW(); /* sclk为低电平 */
- W25QXX_SCK_HIGN(); /* 上升沿发送数据 */
- rcv <<= 1;
-
- if(W25QXX_MISO_PORT_BIT)
- {
- rcv |= W25QXX_MISO_PORT_BIT;
- printk("%d ", W25QXX_MISO_PORT_BIT);
-
- // rcv++;
- }
- }
- W25QXX_SCK_LOW(); /* sclk为低电平 */
- printk("rcvzuihou: %x\r\n", rcv);
- return rcv;
- }
复制代码 |
|