
问题描述:STM32F407通过FSMC外设访问三星NAND FLASH,系统时钟是168MHz,始化外设GPI0D的PD0、PD1、PD3、PD4、PD6、PD11、PD12、PD14、PD15,还有PE的PE7、PE8、PE9、PE10等时钟及GPIO复用,设置FSMC对应的bank2或bank3,访问NAND FLASH ID 时,函数如下: void FSMC_NAND_ReadID(NAND_IDTypeDef* NAND_ID) { /* Send Command to the command area */ *(vu8 *)(NAND_FLASH_START_ADDR | CMD_AREA) = NAND_CMD_READID; /* Send Address to the address area */ *(vu8 *)(NAND_FLASH_START_ADDR | ADDR_AREA) = 0x00; /* Sequence to read ID from NAND flash */ NAND_ID->Maker_ID = *(vu8 *)(NAND_FLASH_START_ADDR | DATA_AREA); NAND_ID->Device_ID = *(vu8 *)(NAND_FLASH_START_ADDR | DATA_AREA); NAND_ID->Third_ID = *(vu8 *)(NAND_FLASH_START_ADDR | DATA_AREA); NAND_ID->Fourth_ID = *(vu8 *)(NAND_FLASH_START_ADDR | DATA_AREA); NAND_ID->Fifth_ID = *(vu8 *)(NAND_FLASH_START_ADDR | DATA_AREA); } 程序能够正常单步执行 *(vu8 *)(NAND_FLASH_START_ADDR | CMD_AREA) = NAND_CMD_READID; 单步执行*(vu8 *)(NAND_FLASH_START_ADDR | ADDR_AREA) = 0x00时,程序就有问题,不能正常执行,像是跑别的地方去了,停止仿真时,程序指向复位中断。 上述问题,不仅仅是访问NAND FLASH ID出现,执行擦除函数时也是这样,执行第一句函数正常,但是执行第二句就有问题,不知何故,请高手指教,谢谢。 |
STM32F407VET6 I2S 采用DMA传输问题
有STM32F4倒车雷达响应例程吗?
STM32F429I倒车雷达响应
STM32多通道FFT运算异常
在其他电脑上编译成功没有错误并且能够烧录,换了电脑之后编译出现一堆错误,并且不能烧录程序
SD卡初始化第一次初始化后再次初始化时会失败。
串口重定向接收不同
关于三轴陀螺仪 I3G4250D
经过光耦之后,脉冲计数功能为啥不能实现?
STM32F407 ADC Dual regular simultaneous only 模式下最高采样率仅 96 kHz,960 kHz 无法工作,求助!
在程序中,我定义比较大的数组做全局变量,这样会影响吗?该如何更改