4.6嵌入式开发中的c语言(上)

数据类型

嵌入式中~位取反
range范围
delay延时可以用for循环,delay一个固定时间
在这里插入图片描述
在这里插入图片描述
这是错误永远出字节四不了循环体到255归0
在做通讯协议,包头 包尾 校验位 不能出错,位宽不能出错,选错类型。
在这里插入图片描述

在32位的arm cortex M系列int对应32位四字节存储空间,if else 变量它的值只有1或0,1比特信息,1比特用32位比较浪费。在c语言编程要尽量用满足要求的最小变量类型。

M4带浮点库,但M0不带,用要引用库,也许只有一次简单的运算也会浪费大量内存。要include库。处理浮点数有很多方法。
1例如移动小数点全部转换整数运算。
2三角函数可以做一张一定精度的查表

在这里插入图片描述

c语言位操作

在这里插入图片描述

变位

有一个变量希望把BIT7也就是第8个比特,从0开始数变为1
0与别的数或不改变与1或变为1
右侧码串叫mask也就是掩码
在这里插入图片描述
这个答案是或只改变1个比特,=把不想改变的都改变了,这就是位操作好处
宏定义

清0

别的位不变掩码对应的位变为0,与操作
在这里插入图片描述

左移 右移

通讯会用到,有一个变量向把当中几个比特的值取出,赋给一个新的变量
取高四位 低四位
如下图0x34想取出3和4
在这里插入图片描述

判断条件

检查某一位是否是0,与0与都是0,关键就是掩码哪一位是否为0,这样就可以进行判断
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值