当前位置: 首页 > news >正文

【高效单片机语言结构】怎样最好地使用MSP430 编译器的建议

为了避免使用低效的语言结构理解MSP430 结构的限制是重要的下面是有关怎样最好地
使用MSP430 编译器的建议
因为在MSP430 上位域类型执行缓慢所以应当仅在为了保存数据存储器空间时才使用它
用unsigned char 或unsigned int 的位屏蔽代替位域如果用户必须使用位域那么为了提高
效率使用unsigned
在其模块之外不使用的变量应当被声明为静态的static 这是因为这样将改善把它们暂
时保存在寄存器中的可能性
?1 在可能时 使用无符号unsigned 数据类型某些时候unsigned 无符号操作比signed
有符号操作执行效率更高这特别适用于除法和求模运算
?2使用 ANSI 原型对ANSI 函数的调用比对K&S 样式K&S-style 函数的调用能效率更
高地被执行参见K&S 和ANSI C 语言定义一节
?3对 16 位数据类型例如short 和unsigned short MSP430 的工作效率更高通常8 位
数据类型的使用节省数据空间但不减少代码大小MSP430 的结构不直接支持32 位数
据类型因而其效率较低
?4自动比例(scalar auto)变量常被分配在寄存器中所以只要有可能就应使用自动而
不是静态变量
?5函数的头两个参数 parameters 在寄存器中传送参见调用约定一节能因此以
参数parameters 而不是静态变量方式把自变量(arguments)传送给函数是更为有装

?6复制结构 structs 和联合unions 是耗费较大的操作应避免运行时结构/联合的
赋值带结构/联合参数的函数以及返回结构/联合的函数只要有可能应采取指向结
构/联合的指针操作
?7每当调用了函数时 声明在这些函数中具有初始值的非自动比例Non-scalar auto
变量结构联合和数组将引起运行时run-time 复制对于常数变量使用储存
类静态常量the storage class static const” 可避免这种情况

相关文章:

  • 【RS-485收发切换】使用RS-485要注意的一个问题
  • 【汇编指令】MSP430汇编指令
  • 【关于堆栈和指针】关于堆栈和指针 不错的文章
  • 【参数传递方式】参数用指针好还是用数值好(区别)结构体/指针做参数
  • 【JLINK与JTAG】JLINK与JTAG的区别,JTAG和H-JTAG和SBW的区别
  • 【单片机开发平台】msp430几种不同开发平台的对比
  • 【CPU寄存器】MSP430功耗相关寄存器
  • 【单片机汇编指令】单片机汇编指令入门学习和查看
  • 【IAR下的汇编】IAR下的汇编/单片机启动代码汇编
  • 【向上取整/向下取整】C语言向上或向下取整 函数
  • 【IAR启动代码】IAR MSP430 启动代码的修改
  • 【C库函数】C库函数
  • 【结构体-参数】结构体和结构体指针作参数
  • 【JAVA与C\C++】JAVA与C\C++ 的不同|JDK、JRE、JVM的区别
  • 【VC++学习日志】VCC++学习日志
  • Mocha测试初探
  • Vue--数据传输
  • Vultr 教程目录
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 给初学者:JavaScript 中数组操作注意点
  • 好的网址,关于.net 4.0 ,vs 2010
  • 和 || 运算
  • 免费小说阅读小程序
  • 实战|智能家居行业移动应用性能分析
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 7行Python代码的人脸识别
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #微信小程序:微信小程序常见的配置传值
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (分布式缓存)Redis持久化
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (接口封装)
  • (一)基于IDEA的JAVA基础12
  • (转)Google的Objective-C编码规范
  • (转)jdk与jre的区别
  • (转载)PyTorch代码规范最佳实践和样式指南
  • *上位机的定义
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Reactor简单使用教程
  • .NET6 命令行启动及发布单个Exe文件
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • [20161101]rman备份与数据文件变化7.txt
  • [ACTF2020 新生赛]Upload 1
  • [AIGC] Redis基础命令集详细介绍
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [Android] Android ActivityManager
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [codeforces]Checkpoints
  • [cogs2652]秘术「天文密葬法」