一句话:提取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位。 |
一句话:提取DmaBuffer地址的高8位。 |
地址高、低字节 |
取高8位地址 下面一句取低8位地址 |
强制变量转换,DmaBuffer强制转换成u16再右移8位,结果再强制转换成u8。 |
强制类型转换 |