网站建设是程序员吗,网页可视化设计,wordpress问答插件美化,搜讯网站建设昨晚上#xff0c;我们一个同事组织了一个小会议#xff0c;大家一起讨论了一个项目的单片机代码#xff0c;这个单片机用的是新唐单片机#xff0c;期间大家也讨论了一些问题#xff0c;总结一下#xff0c;希望对写单片机的同学们有帮助。我这个同事写的代码非常优秀我们一个同事组织了一个小会议大家一起讨论了一个项目的单片机代码这个单片机用的是新唐单片机期间大家也讨论了一些问题总结一下希望对写单片机的同学们有帮助。我这个同事写的代码非常优秀具体代码怎么写就不能秀出来了。单片机的一些存储空间data --- 可寻址片内ram bdata --- 可位寻址的片内ram idata --- 可寻址片内ram允许访问全部内部ram pdata --- 分页寻址片外ram (MOVX R0) (256 BYTE/页) xdata --- 可寻址片外ram (64k 地址范围FFFFH) code --- 程序存储区 (64k 地址范围),对应 MOVC DPTRProgram Size: data12.0 xdata120 code3349— —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语言我的知识小密圈