请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR5989 大家好、
我正在从事 ESI 项目、我们使用 FlowESI GUI 版本1_01_00_04生成了设计框架和文件。
我们发现了一些可能的错误、希望与您分享。 我们需要知道它们是否是错误 、以及如何修复它们:
1º μ A。 根据 此文件./ESIConfig/esiCalibration.c
(笑声)
sensorState = ESI_getLatchedComparatorOutput (channel_0_PPU_select | channel_1_PPU_select);
开关(sensorState)
{
情况0x00:
afe2MaxDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_UPPER 寄存器);
中断;
情况0x01:
afe2MinDACCH1 += ESI_getAFE2DACValue (channel_1_DAC2_lower 寄存器);
中断;
情况0x02:
afe2MaxDACCH1 += ESI_getAFE2DACValue (channel_1_DAC2_UPPER 寄存器);
中断;
情况0x03:
afe2MaxDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_UPPER 寄存器);
中断;默认: 中断;
}
开关(sensorState)
{
情况0x00:
afe2MaxDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_UPPER 寄存器);
中断;
情况0x01:
afe2MinDACCH1 += ESI_getAFE2DACValue (channel_1_DAC2_lower 寄存器);
中断;
情况0x02:
afe2MaxDACCH1 += ESI_getAFE2DACValue (channel_1_DAC2_UPPER 寄存器);
中断;
情况0x03:
afe2MaxDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_UPPER 寄存器);
中断;默认: 中断;
}
(笑声)
这两个案例是相同的、因此我们怀疑它们是错误的、但我们不知道它们必须改变。
我想了解 为什么将 afe2MaxDACCH1 放置在 case 0x02之后。 我需要了解这一点、以便检查它是否是正确的位置。 我不知道是否必须更改它。 基本上、我们需要了解 sensorState 的含义。
(笑声)
情况0x00:
afe2MaxDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_UPPER 寄存器);
中断;
afe2MaxDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_UPPER 寄存器);
中断;
(笑声)
为此:
(笑声)
情况0x00:
afe2MinDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_lower 寄存器);
中断;
afe2MinDACCH0 += ESI_getAFE2DACValue (channel_0_DAC2_lower 寄存器);
中断;
(笑声)
2º μ A。 根据 同一文件./ESIConfig/esiCalibration.c
(笑声)
//对于循环、这是为了找到 ch0和 ch1的初始 DAC 值
对于(I = 0;I 范围;i++)//测试"rangeNum"乘以12位 DAC
{
_bis_SR_register (LPM3_bits+GIE); //等待 ESISTOP 标志
if (fsParam->channel0Enabled=true){
if (!(ESI_getLatchedComparatorOutput (ESI_AFE2_Channel1_select))){
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_UPPER)+ dACBit、channel_0_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_lower)+ dACBit、channel_0_DAC2_lower 寄存器);
}否则{
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_UPPER)- dACBit、channel_0_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_lower)- dACBit、channel_0_DAC2_lower 寄存器);
}
}
if (fsParam->channel1Enabled=true){
if (!(ESI_getLatchedComparatorOutput (ESI_AFE2_CHANNEL2_SELECT))){
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_UPPER)+ dACBit、channel_1_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_lower)+ dACBit、channel_1_DAC2_lower 寄存器);
}否则{
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_UPPER)- dACBit、channel_1_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_lower)- dACBit、channel_1_DAC2_lower 寄存器);
}
}
对于(I = 0;I 范围;i++)//测试"rangeNum"乘以12位 DAC
{
_bis_SR_register (LPM3_bits+GIE); //等待 ESISTOP 标志
if (fsParam->channel0Enabled=true){
if (!(ESI_getLatchedComparatorOutput (ESI_AFE2_Channel1_select))){
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_UPPER)+ dACBit、channel_0_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_lower)+ dACBit、channel_0_DAC2_lower 寄存器);
}否则{
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_UPPER)- dACBit、channel_0_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_0_DAC2_lower)- dACBit、channel_0_DAC2_lower 寄存器);
}
}
if (fsParam->channel1Enabled=true){
if (!(ESI_getLatchedComparatorOutput (ESI_AFE2_CHANNEL2_SELECT))){
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_UPPER)+ dACBit、channel_1_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_lower)+ dACBit、channel_1_DAC2_lower 寄存器);
}否则{
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_UPPER)- dACBit、channel_1_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_1_DAC2_lower)- dACBit、channel_1_DAC2_lower 寄存器);
}
}
if (fsParam->channel2Enabled=true){
if (!(ESI_getLatchedComparatorOutput (ESI_AFE2_CHANNEL3_select)))){
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_2_DAC2_UPPER)+ dACBit、channel_2_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_2_DAC2_lower 寄存器)+ dACBit、channel_2_DAC2_lower 寄存器);
}否则{
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_2_DAC2_UPPER)- dACBit、channel_2_DAC2_UPPER 寄存器);
ESI_setAFE2DACValue (ESI_getAFE2DACValue (channel_2_DAC2_LOW_register)- dACBit、channel_2_DAC2_LOW_register);
}
}
dACBit >=1;
}
}
(笑声)
我们认为它们必须为: ESI_AFE2_CHANNEL0_SELECT、而不是 ESI_AFE2_Channel1_select 等。 您是否想检查该代码并告诉我们正确的代码是什么?
非常感谢你的帮助。
此致。