• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32的FSMC配置

liyingliang 2018-04-16 浏览量:817
你好袁总,STM32在配置FSMC时,如果结构体赋值不完整(结构体某个元素在代码中没有赋值,我遇到的情况是FSMC_AsynchronousWait没有赋值),程序下载后设备不掉电情况下reset后程序可以正常运行。但设备重上电后就会大概率的出现程序不运行(运行到FSMC配置时卡住)的情况,能否具体讲解一下FSMC赋值不完整导致程序不运行的机理,还有程序下载后reset和重上电两种不同表现的原因?多谢!!
2 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 好像是复位时,所有的寄存器都是会复位成默认的值。但是是从main开始执行。

    而去了电再上电,就是从启动文件的s文件开始执行的

    • 发布于 2018-04-16
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10
  • 复位与重新上电,其实就是RAM中的数据是不是还有效的。重上电后,RAM中没数据了。

    至于FSMC的问题,可能是之前配置正确过一次吧

    • 发布于2018-04-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 我能想到的区别就是,reset复位,断电启动,两种方式 io 口有区别,reset 复位 io 应该是没有断电的,保持reset前的状态,冷启动 io 也断电了又上电,会是默认状态。这两个状态不一样的话可能就不同,也有可能是一样的状态
    • 发布于2018-04-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 复位重启后内存里面数据就清空了
    • 发布于2018-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果没有赋值,复位后内存数据是随机的
    • 发布于2018-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 感觉就是初始化这块的问题,复位数据是固定的,重新上电数据有的可能随机。
    • 发布于2018-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 重新上电,内存中的数据肯定都没了,状态不确定。但是复位不知道是什么结果。
    • 发布于2018-04-17
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32在初始化变量的时候最好赋值,否则有可能会被别的数据覆盖掉
    • 发布于2018-04-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 重新上电后,寄存器中的数据就会全清0的,可能你在配置时,错误的配置了无关的位
    • 发布于2018-04-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 没听说过FSMC要用结构体进行操作的,但是STM32中寄存器的值在上电之后都是默认的,如果运行出了问题,肯定不是寄存器的问题,有可能是结构体数据初始化错误。​

    • 发布于2018-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果确定结构体赋值不完整导致问题出现,那么就完整赋值即可,不必纠结问题产生的原因。复位后RAM中的数据是不清空的,可能正好没有赋值的变量值依然是正确的,所以能够正确运行。而重新上电,RAM中的数据是被清空的,没有了正确的赋值,可能就会产生问题。
    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32的FSMC配置