读取W25Q64的设备ID时输出0xff

发现的问题

读取W25Q64的设备ID时输出0xff

找到的不同解决方法

  • 检查MISO和MOSI是否接对。MISO->DO,MOSI->DI
  • 检查程序在初始化spi时是否将SS拉高、SCK拉低
  • 如果是硬件spi那么检查SPI的初始化函数中,时钟极性SPI_CPOL误选为SPI_CPOL_Low,改为和例程相同的SPI_CPOL_High。
  • 如果使用PB3/4引脚作为软件spi引脚时,因为使用了PB3、PB4这两个引脚上电复位默认是作为调试端口使用的。所以得先关闭JTAG功能才行
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关闭pb3、4,pa15的JTAG功能,打开sw调试功能
    初始化时,PB3、PB4做普通io需打开复用功能
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  • 最后是我自己最蠢的问题,原来连接连接的杜邦线是断的,导致数据不正常
相关推荐
szxinmai主板定制专家5 分钟前
基于x86和ARM的EtherCAT运动控制器,最大支持32轴,支持codesys和实时系统优化
arm开发·人工智能·嵌入式硬件·yolo
d111111111d34 分钟前
STM32-外设学习-读写备份寄存器(代码)--学习笔记
笔记·stm32·单片机·嵌入式硬件·学习
自小吃多40 分钟前
5.2 FreeRTOS 二值信号量使用示例-笔记
笔记·stm32
国科安芯1 小时前
AS32系列MCU芯片TIM模块的捕获和比较
单片机·嵌入式硬件·fpga开发·架构·risc-v
C语言不精1 小时前
一种在 ESP32-S3 上取巧的清晰度检测方案
c语言·stm32·嵌入式硬件·学习
dlwlrma_5161 小时前
STM32使用TIM定时触发ADC通过HAL库实现采样 模拟ADC使用DMA数据传输时发生OVR溢出和恢复DMA
stm32
DIY机器人工房1 小时前
简单理解:电源转换四大类型(AC/DC、DC/AC、DC/DC、boost、buck、LDO、AC/AC之间分别是什么关系?)
嵌入式硬件·boost·bms·buck·ldo·diy机器人工房·电源转换
就是蠢啊2 小时前
51单片机——串口通信(二)
嵌入式硬件·mongodb·51单片机
挽天java2 小时前
Arduino/EIDE/Platform IO/Linux/MRS/Keil/STM32Cubemx配置
linux·运维·stm32
DIY机器人工房2 小时前
(十二)嵌入式面试题收集:15道
单片机·嵌入式硬件·diy机器人工房