求助大神:F405操作nandflash

2019-07-20 08:20发布

F405初始化MT29F8的时候,卡在NAND_Reset()这个函数;
发送命令 *(vu8*)(NAND_ADDRESS|NAND_CMD)=NAND_RESET;正常;
然后发读状态命令 *(vu8*)(NAND_ADDRESS|NAND_CMD)=NAND_READSTA   就直接挂了;
查了下电源没有问题,代码应该也没问题。
就是不知道哪里出问题了


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
astonea
1楼-- · 2019-07-20 11:29
本帖最后由 astonea 于 2018-5-7 16:52 编辑

问题找到了, R/B脚要设置为上拉模式;设为NOPULL模式,发送命令时程序指针就跑飞了。        //初始化PD6 R/B引脚
    GPIO_InitStruct.Pin=GPIO_PIN_6;
    GPIO_InitStruct.Mode=GPIO_MODE_INPUT;          //输入
    GPIO_InitStruct.Pull=GPIO_PULLUP;                            //上拉         
    GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;         //高速
    HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);

正点原子
2楼-- · 2019-07-20 17:10
 精彩回答 2  元偷偷看……
astonea
3楼-- · 2019-07-20 17:54
原子哥,飞线飞了,结果还是这个问题,发完reset命令再去读就跑飞了,所有的寄存器全部变成AAAAAAA了。求助啊,这是为什么呢
astonea
4楼-- · 2019-07-20 23:33
问题找到了, R/B脚要设置为上拉模式;设为NOPULL模式,发送命令时程序指针就跑飞了。      

  //初始化PD6 R/B引脚
    GPIO_InitStruct.Pin=GPIO_PIN_6;
    GPIO_InitStruct.Mode=GPIO_MODE_INPUT;          //输入
    GPIO_InitStruct.Pull=GPIO_PULLUP;                            //上拉         
    GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;         //高速
    HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);

一周热门 更多>