yjw16 发表于 2014-3-29 09:25

F2812芯片AD模块数据处理时为什么把两数相乘

DatQ15 = (AdcRegs.ADCRESULT0>>1)&0x7FFF;           // Convert raw result to Q15 (unipolar signal)
Tmp = (int32)p->Ch1Gain*(int32)DatQ15;      // Tmp = gain*dat => Q28 = Q13*Q15
p->Ch1Out = (int16)(Tmp>>13);               // Convert Q28 to Q15

Ch1Gain是int16类型。这三行程序没看懂,有大神指导下吗?

zhangmangui 发表于 2014-3-29 15:27

将采集结果乘了增益什么的   不知道为什么
你要看看它具体使用什么方式来处理AD采集值的

yjw16 发表于 2014-3-29 16:22

zhangmangui 发表于 2014-3-29 15:27 static/image/common/back.gif
将采集结果乘了增益什么的   不知道为什么
你要看看它具体使用什么方式来处理AD采集值的 ...

这个是无刷直流控制的AD模块
页: [1]
查看完整版本: F2812芯片AD模块数据处理时为什么把两数相乘