微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > (纯C语言语法问题)菜鸟提问两个在2541例程SimpleBLEPeripheral中的代码细节问题。

(纯C语言语法问题)菜鸟提问两个在2541例程SimpleBLEPeripheral中的代码细节问题。

时间:10-02 整理:3721RD 点击:

1、在读取ADC转换结果中,把ADCH放到 int16 reading变量的高八位是这样做的:

我的问题是:

ADCH相当于是一个字节(8bits)的变量,先是左移8位后,值变成了0x00(16进制),然后在进行(int16)强制转换,高位用0补充,值变成了0x0000(16进制),那么reading的高八位不就是0x00(16进制)吗?怎么就实现了ADCH的值赋给了reading的高八位?


2、直接上图:

我的问题是:

对于这句    (uint8 *)pAttr->pValue;    我是这样理解的。先将 结构体指针变量pAttr 强制转换成 无符号字符型指针,然后pAttr是无符号字符型变量指针了,怎么能指向结构体成员pValue?

1: C编译器先拓展数据类型,然后再移位

2: 先取值,再强制转换

有空翻翻C高质量编程

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top