找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

C语言语句疑问

查看数: 2058 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-11-18 10:36

正文摘要:

这句话是什么意思

回复

ID:77589 发表于 2022-11-18 16:50
一句话:提取DmaBuffer地址的高8位。
1、&DmaBuffer表示取地址
2、(u16)&DmaBuffer表示把取到的地址强制转换成一个16位无符号数
3、(u16)&DmaBuffer >> 8表示把这个16位地址向右移动8位,结果就是把低8位地址丢掉,高8地址移动到这个16位数的低8位,这个16位数的高8位全部填充0
4、(u8)((u16)&DmaBuffer >> 8)表示把上步得到的16位无符号数强制转换成一个8位无符号数,结果就是丢掉16位无符号数的高8位,只取了低8位。
经过以上4步,就得到了你声明数组首地址的高8位。
ID:77589 发表于 2022-11-18 16:41
一句话:提取DmaBuffer地址的高8位。
ID:1034262 发表于 2022-11-18 13:49
地址高、低字节
ID:624769 发表于 2022-11-18 12:42
取高8位地址
下面一句取低8位地址
ID:491577 发表于 2022-11-18 12:13
强制变量转换,DmaBuffer强制转换成u16再右移8位,结果再强制转换成u8。
ID:101869 发表于 2022-11-18 11:41
强制类型转换

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表