昨晚上,我们一个同事组织了一个小会议,大家一起讨论了一个项目的单片机代码,这个单片机用的是新唐单片机,期间大家也讨论了一些问题,总结一下,希望对写单片机的同学们有帮助。

我这个同事写的代码非常优秀,具体代码怎么写,就不能秀出来了。

单片机的一些存储空间data     --->     可寻址片内ram

bdata   --->     可位寻址的片内ram

idata    --->     可寻址片内ram,允许访问全部内部ram

pdata   --->     分页寻址片外ram (MOVX @R0) (256 BYTE/页)

xdata   --->     可寻址片外ram (64k 地址范围FFFFH)

code    --->     程序存储区 (64k 地址范围),对应 MOVC @DPTR

Program Size: data=12.0 xdata=120 code=3349

— —const 的使用

我们一般定义一个全局变量,这个变量会占用RAM的空间大小,如果我们把这个变量定义为const,就可以把这个变量空间从RAM定义到code空间,以此来节省内存空间大小。

我们实测后发现,const变量不仅占用RAM空间,也会增大code的大小,大家在使用的时候可以实测试试。

没有变到code空间的原因大概是ROM没有运行程序的能力

经常听到程序代码可在NOR Flash上运行,而不能在NAND Flash上运行的说法,关于这个说法容易给人造成误解,因为CPU执行代码分为取指、译码、执行三个步骤,所以真正运行代码的还是CPU,对于NOR Flash可以直接运行代码的说法,指的是CPU可以直接通过地址总线从NOR Flash上完成取指的操作。

— —尽量使用全局变量

函数的局部变量对占用栈空间,如果局部变量很多的话,以后出现问题都不好排查,使用全局变量可以使用code空间,确保栈空间足够让程序运行,确保不要在运行的时候出现栈空间不够。

——尽量开启看门狗

对于手机来说,看门狗不是很重要,但是对于单片机来说,看门狗非常重要,看门狗可以保证单片机死机后可以恢复运行。

——声明为char类型,实际上可能是unsigned char

这个是编译器的锅,大家如果发现程序不按自己想法运行,可以留意下这个。

idata 单片机 新唐_新唐单片机代码评审总结相关推荐

  1. ht1621b和单片机电平匹配_有备无患,单片机面试问题集

    点击箭头处 "蓝色字" ,关注我们哦!! 这十八个经典问答,讲透了RS485接口! 模拟技术之传感器电路实例讲解 三种单片机对比:51系列.PIC和AVR 几个单片机汇编语言教学例 ...

  2. stcc52单片机时钟电路_有备无患,单片机面试问题集

    小单在网上搜集了一些关于单片机面试的问题,希望能帮助到需要找工作的同学! 单片机的最小系统?内部的主要结构? 答:最小系统:电源.晶振(为系统提供基本的时钟信号).复位电路;内部结构:ROM/RAM. ...

  3. 单片机python教程_如何入门单片机/嵌入式

    之前回答的一个单片机入门的问题,感觉脉络还算完整,遂把它单独整理出来. 大一学的单片机,本科玩了几年嵌入式,做过智能家居,智能小车,示波器,开关电源等等,后来工作(本人芯片行业)以后就没搞了,但是这段 ...

  4. hc05与单片机连接图_小白学单片机:单片机烧写器及烧写软件的使用

    一.为什么叫烧写 早期一般是将调试好的单片机程序写入到ROM.EPROM中,这种操作就像刻制光盘一样,实在高电压方式下写入,PROM是一次性写入,存储内部发生变化,有些线路或元件就被烧断,不可再恢复, ...

  5. 新唐单片机选型手册_新唐单片机选型手册_新唐8051标准系列单片机选型指南

    新唐8051标准系列单片机选型指南 新唐单片机 8位单片机 作者: 来源: 发布时间:2019-06-18 22:15:07   浏览:351 新唐科技标准8051产品系列,其管脚兼容于传统12T 8 ...

  6. 新唐单片机选型手册_新唐8051标准系列单片机选型指南

    新唐8051标准系列单片机选型指南 新唐单片机 8位单片机 作者: 来源: 发布时间:2019-06-18 22:15:07   浏览:351 新唐科技标准8051产品系列,其管脚兼容于传统12T 8 ...

  7. 合泰单片机触摸例程_合泰触摸单片机新建工程步骤(自编详细版)

    合泰触摸系列单片机新建工程步骤(自编详细版) 第一步: 新建一个工程文件夹,这里以 BS83B12A-3 单片机为实例,将文件夹 命名为 BS83B12A-3_Exam( 根据工程项目自定义,无要求 ...

  8. 英飞凌单片机知乎_如何评价单片机大神郭天祥?

    没成想自己的一个回答获得300个赞,也是知乎灌水多年的第一次了..之前的回答里略有一点点偏激,是为了回应一个我看到的不爽的回答.下面比较严谨的表达一下自己的想法-- 如果把单片机开发比做一个大学专业, ...

  9. javafx 打开新窗口_新的JMetro JavaFX 11兼容版本

    javafx 打开新窗口 你好,我们又见面了! 这次,新版本与JavaFX 11兼容. 继续阅读以获取详细信息. JMetro 8.5.7和11.5.7版本 JMetro代码已分为2个分支. mast ...

最新文章

  1. Nginx笔记系列(1)——Nignx的安装部署
  2. 在aspx页面向iframe中post参数
  3. python draw.text颜色_python wand:用draw.text()改变文本样式
  4. Linux网卡eth0变成eth1修改方法
  5. 前端项目里常见的十种报错及其解决办法
  6. SetProcessWorkingSetSize减少内存占用
  7. s5pv210——AD转换
  8. 【数据结构上机练习】考试题目 3
  9. python-Python教程
  10. 语音识别如何操作?这种语音转文字方法也太好用了吧,简单高效
  11. 【JavaScript学习笔记】计算机编程基础
  12. 阈值分割:最大类间方差法
  13. FAQ详解“Meltdown和Spectre”问题,接踵而来的“Skyfall和Solace”是否仅是骗局?
  14. 共享编辑文档系统dzzoffice安装
  15. linux wifi开机自动连接 wifi连接
  16. 训练营day01 数组 | 704-二分查找、27-移除元素
  17. 华为 H1B 2014办理详情
  18. Resample方法
  19. 串口屏-迪文10寸T5串口屏简单上手
  20. 谁是Windows 10中国市场的赢家?

热门文章

  1. autojs微博_autojs使用intent打开新浪微博的用户任务中心scheme的详细过程
  2. 2014年双11抢货宝典-双11促销商品价格对比清单---妈妈再也不用担心我成为剁手党啦
  3. 宫廷计获取服务器配置信息出错,宫廷计手游宫廷会试全题目答案汇总 宫廷会试题及答案...
  4. 从零开始写一个框架的详细步骤
  5. 电源完整性系统设计总结
  6. [HDU 1814] Peaceful Commission
  7. Swin Transformer代码讲解
  8. 2010年10月20日
  9. 高校校园网代理Motion pro持续重连解决办法
  10. 美术绘画之原画场景深入刻画-张聪-专题视频课程