单片机单口不可用或被占用_新唐单片机代码评审总结
昨晚上,我们一个同事组织了一个小会议,大家一起讨论了一个项目的单片机代码,这个单片机用的是新唐单片机,期间大家也讨论了一些问题,总结一下,希望对写单片机的同学们有帮助。
我这个同事写的代码非常优秀,具体代码怎么写,就不能秀出来了。
单片机的一些存储空间
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
这个是编译器的锅,大家如果发现程序不按自己想法运行,可以留意下这个。
推荐阅读:专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈
单片机单口不可用或被占用_新唐单片机代码评审总结相关推荐
- 单片机单口不可用或被占用_昆明工业控制单片机应用开发价格
昆明工业控制单片机应用开发价格 jwsndfc 昆明工业控制单片机应用开发价格结构图组成推挽结构,从理论上讲是可以通过调配管子的参数轻松实现输出大电流,带载能力,两个管子根据通断状态有四种不同的组合, ...
- 单片机单口不可用或被占用_单片机为什么一直用C语言,不用其他编程语言?只有学过的知道...
单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...
- 单片机单口不可用或被占用_KQD:快驱动单片机
公测阶段测试进度: 状态代码含义 X:规划中,尚未进入开发阶段. A:原型验证阶段,代表本驱动模块完成原型验证,仅表示此算法或方案可行. B:主要功能完成阶段,代表本驱动模块主要功能已经完成并可以跑通 ...
- idata 单片机 新唐_新唐单片机代码评审总结
昨晚上,我们一个同事组织了一个小会议,大家一起讨论了一个项目的单片机代码,这个单片机用的是新唐单片机,期间大家也讨论了一些问题,总结一下,希望对写单片机的同学们有帮助. 我这个同事写的代码非常优秀,具 ...
- 新唐单片机选型手册_新唐单片机选型手册_新唐8051标准系列单片机选型指南
新唐8051标准系列单片机选型指南 新唐单片机 8位单片机 作者: 来源: 发布时间:2019-06-18 22:15:07 浏览:351 新唐科技标准8051产品系列,其管脚兼容于传统12T 8 ...
- 新塘单片机烧写器_新唐单片机软件加密|新唐单片机软件(NuConsole) v2.04.6725官方版 附安装教程_星星软件园...
NuConsole是一款实用的新唐单片机软件,该软件可以通过SWD接口操作,为用户提供不中断目标芯片和主机的信息传输机制,是机械和电气领域不可或缺的软件.软件简洁实用.操作简单.极易使用,需要的朋友赶 ...
- m031开发 新唐_【M031LC2AE价格_新唐单片机M031LC2AE,M031LD2AE,32/64/128kFLASH,48pin_全速装置图片】-TG工业网...
新唐单片机M031LC2AE,M031LD2AE,32/64/128k FLASH,48pin 主要特色: • 运作特性 - 工作电压: 1.8V ~ 3.6V - 工作温度: -40°C ~ +10 ...
- 新唐单片机 ICP 史上最全教程
新唐单片机 ICP 史上最全教程 新唐单片机 ICP烧录教程 目录 新唐单片机 ICP 史上最全教程 1.ICP软件安装 2.连接设备 3.设备供电 4.开启软件 5.欢迎界面 6.补充事项 7.建立 ...
- 新唐单片机选型手册_新唐8051标准系列单片机选型指南
新唐8051标准系列单片机选型指南 新唐单片机 8位单片机 作者: 来源: 发布时间:2019-06-18 22:15:07 浏览:351 新唐科技标准8051产品系列,其管脚兼容于传统12T 8 ...
最新文章
- C++ Stack Queue priority_queue
- SQL积累-SQL取得字符串中的文件名
- 大数据培训:Zookeeper集群管理与选举
- python识别图片指定位置文字_python批量识别图片指定区域文字内容
- pythonxml库_对python 生成拼接xml报文的示例详解
- Java小项目:坦克大战(二)
- 基于人脸识别的课堂签到管理系统(四)---摄像头上传实时数据,百度AI读取并返回信息以及多线程操作
- Python程序中的进程操作-进程同步(multiprocess.Lock)
- 41. PHP MySQL 连接数据库
- 计算机专业教育经历怎么写,个人简历教育经历怎么写?
- python图库图片_python爬取优美图库海量图片,附加代码,一键爬取
- 【产品】 产品设计:ID设计和MD设计详解
- html的富文本有什么用,html中怎样使用富文本
- 分析力学复习笔记(更新中)
- java 图形处理_课内资源 - 基于Java实现的几何图形处理系统
- HDFS强制退出安全模式
- 3DMAX使用心得(2007-9-9)
- VS 2017 OCX
- 软件产品与项目开发的区别
- 47 On Interpersonal Relationship 关于人际关系
热门文章
- Matlab Tricks(二十五) —— 二维图像的 shuffle
- 极简代码(八)—— binary activation function
- 人,作为社会的基础单元
- Tricks(五)—— Python 返回所有符合条件的下标
- opencv 文字识别_Python+opencv+EAST做自然场景文本检测!
- python常问问题_Python新手在作用域方面经常容易碰到的问题
- python官网的sdk下载详细步骤-Python SDK(beta)
- python免费全套教程-python入门免费教程看这些就够了
- python和java学哪个好-Python和Java学哪个更好?
- python入门先学什么-Python入门学习 DAY 01 计算机基础