单片机内存大小影响的问题?
单片机的内存大或小会对程序运行产生什么影响吗? 我了解的话就是空间太小,太庞杂的功能不能实现,除此之外还有其他的一些影响吗?你要准确描述你指的内存到底是RAM还是ROM,通常单片机数据手册里说到的Flash空间大小就是指ROM的大小。 分两种情况来说吧,假如你问的是ROM大小对程序运行的影响,简单粗暴地说,只要你能烧录进去,就没问题 前提是你设置的芯片型号没错 这个不必过于担心 倒是RAM对程序运行的影响挺大的 打个比方,假如你MCU的RAM是4K Byte,首先,你在代码里面声明的数组是一定不能大于4K Byte的,当然了,大于的话是编译不通过的,这个比较好发现,其次是对于栈区(Stack)的分配,因为Stack也是占用RAM的,栈区的大小直接决定了你函数嵌套的层次,你如果觉得自己还是酸菜鱼的话,就最好去了解一下这方面的知识 有时候你在单步调试时会发现,你全局变量或者是全局数组的值会被无故修改,但是找来找去也没有发现修改变量的语句,那么极有可能是访问越界了,跟程序跑飞大致一样 检查检查你的Stack Size吧,说不定惊喜就在等着你 没啥了,单片机的内存就是内部存储器,你如果觉得不够的话还可以加外部存储器,主要放得就是代码和数据,除非你用图像处理或者音频处理那种,内存可能会不够 这个应该是和你电脑配个大硬盘的感觉一样。
首先, 这里你的内存的意思 是指ROM 还是RAM???
能否都概述一下?我对ROM和RAM的使用上没有碰到不够用的情况 但是我担心这些条件上的限制会对程序运行产生不良影响。 你可以先百度一下把..
搞清楚概念...很容易的. 我本来百度的是 “内存大小对单片机的影响”,但是好像没有人对这个感兴趣。
总觉得概念有一点模糊,可能是因为没有真正碰壁吧,谢谢前辈
最直接的就是栈空间大小,直接影响函数嵌套的层级
内存小了,如果不满足序运行所需要的大小,那就肯定有问题啊。