Keil_MDK调试经验总结一

第一点 整型和浮点型的差别

windows操作系统,64位机中,
char: 1个字节
short: 2个字节
int: 4个字节
long: 8个字节

//正确定义
static  float Fen_Zi = 0;
float Fen_Mu = 200;   //每个姿态的运动周期 200*7 = 1400ms
 static float Percentage = 0;
static uint8_t State_N = 1;  
uint8_t flage;
//错误定义
static  float Fen_Zi = 0;
float Fen_Mu = 200;   //每个姿态的运动周期 200*7 = 1400ms
 static uint8_t Percentage = 0;
static uint8_t State_N = 1;  
uint8_t flage;
这样定义Percentage一直会是0,直到等于200 再直接把数据传送给舵机

第二点 在stm32f103中硬件不支持浮点数运算

在定义中尽量减小浮点数的出现
在计算中,适当的放大或者缩小变量

第三点 注意有符号号整型 int 和无符号整型 uint 的使用

第四点 在宏定义浮点数时在后定义的浮点数后面加一个f

#define 1.2f

第五点 整型和浮点型之间的运算

两个整型相除 得到是整型小数部分舍去
只要有一个是浮点数 小数部分就不会舍去

第六点 字符 和 浮点型 整型 之间的运算

#include <stdio.h>

int main(void) {
   int a = 0; 
    a = 'A'+1.6;
	printf("%d",a);
	return 0;
}

运行结果是 66
所以 字符与整形之间的 加法是将字符转为十进制"ACSII"

#include <stdio.h>

int main(void) {
   int a = 0; 
    a = 'A'*1.6;
	printf("%d",a);
	return 0;
}

运行结果是104
所以 字符与整形之间的 乘法是将字符转为十进制"ACSII"
以此类推

第七点 自增 自减

#include <stdio.h>

int main(void) {
   int a = 0; 
   int b=++a;
   
   printf("%d",b);
   return 0;
}

结果 b = 1

#include <stdio.h>

int main(void) {
   int a = 0; 
   int b=a++;
   
   printf("%d",b);
   return 0;
}

结果 b= 0;
可见,操作数在运算符的前 (先赋值后运算);操作数在运算符的后 (先运算后赋值)

第八点 取余

取余运算在程序设计中都有着广泛的应用,例如判断奇偶数的方法就是求一个数字除以2 的余数是1 还是0。在进行取余运算时,运算结果的正负取决于被除数(%左边的数)的符号,与除数(%右边的数)的符号无关。
如:(-5)%3=-2,而 5%(-3)=2。

参考文章

1.c语言不同数据类型之间的运算(隐式转换、整型提升、强制类型转换、不同类型之间的运算)
2.C语言不同数据类型的混合运算
3.c语言中字符的加减运算,c语言算术运算符

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Keil ARM MDK 5.00是一种用于嵌入式开发的集成开发环境(IDE)。它是Keil公司推出的一套ARM架构微控制器开发工具。 Keil ARM MDK 5.00提供了一套完整的开发工具和环境,包括编译器、调试器和IDE。它支持ARM Cortex-M系列处理器,可以用于开发各种嵌入式系统,如单片机、传感器、无线通信模块等。 Keil ARM MDK 5.00的编译器采用了高度优化的ARM C/C++编译器,能够生成高效的机器代码,提高系统性能。同时,它还集成了丰富的调试功能,包括实时变量查看、寄存器监视、内存访问等,方便开发者进行程序调试和优化。 Keil ARM MDK 5.00的IDE提供了友好的用户界面,简化了开发流程。开发者可以使用它来创建项目、编写代码、进行编译和调试,还可以通过集成的仿真器或外部调试器来调试目标系统。同时,它还提供了一些额外的工具和组件,如RTOS、中断优先级分析器等,帮助开发者更好地进行嵌入式开发。 总的来说,Keil ARM MDK 5.00是一款功能强大的嵌入式开发工具,它提供了全面的开发环境和各种工具,帮助开发者更方便地进行ARM架构的嵌入式系统开发。无论是初学者还是经验丰富的开发者,都可以通过使用Keil ARM MDK 5.00来加快开发速度、提高开发效率。 ### 回答2: Keil ARM MDK 5.00是一款用于嵌入式系统开发的软件开发工具。它由ARM公司开发和发布,可提供给开发人员一系列的工具和环境,用于开发和调试ARM处理器架构的嵌入式应用程序。 Keil ARM MDK 5.00具有集成开发环境(IDE),包括一个程序编辑器、编译器、调试器和仿真器。它通过集成多个工具和功能为开发人员提供了便利,可以高效地开发嵌入式系统。 这个开发工具还支持多种ARM处理器架构,例如ARM7、ARM9、Cortex-M0 / M0+、Cortex-M3 /M4等。它提供了丰富的软件库,包括启动代码、外设驱动、中间件和操作系统,并提供了各种示例项目,以帮助开发人员快速上手和开发。 Keil ARM MDK 5.00还提供了强大的调试功能,包括实时跟踪程序执行、变量和寄存器查看、调试消息跟踪等。开发人员可以使用仿真器和调试器来调试代码,查找和修复错误,并进行性能优化。 此外,Keil ARM MDK 5.00还提供了一系列的性能分析工具,可以帮助开发人员评估和优化代码的性能。开发人员可以使用这些工具来了解代码的执行时间、内存使用情况和功耗等指标,以优化系统性能和资源利用率。 总之,Keil ARM MDK 5.00是一款功能强大的嵌入式系统开发工具,为开发人员提供了一体化的开发环境和强大的调试功能,可以帮助开发人员快速、高效地开发和调试ARM处理器架构的嵌入式应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值