主题中讨论的其他器件: TPS60120
工具/软件:Code Composer Studio
您好!
我想知道、在将函数的返回值分配给变量时、编译器是否有任何限制。
例如、 int 变量= get_port_status ()
int get_port_status()
{
int port_a = 0x80;//端口 A 启用了 Bit7
返回 PORT_A;
}
在调试期间、当我单步执行此类语句时、调试器必须执行函数语句。 但是、不会单步执行函数。 因此、我在进入后获得错误数据。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我想知道、在将函数的返回值分配给变量时、编译器是否有任何限制。
例如、 int 变量= get_port_status ()
int get_port_status()
{
int port_a = 0x80;//端口 A 启用了 Bit7
返回 PORT_A;
}
在调试期间、当我单步执行此类语句时、调试器必须执行函数语句。 但是、不会单步执行函数。 因此、我在进入后获得错误数据。
是的。 我用相同的逻辑提出了问题。 因此、我将清楚地发送实际流程。
MSP430FR5969插槽
在我们的定制设计中、我们使用 TPS60120提供锂聚合物电池(4.2)。 因此、在使用820K 和576K 分压后、我们将接收到 LBI 输入1.032 (2.5 i.p)至1.732v (4.2V i.p)。
因此、当电池输入低于1.21v 基准电压时、LBO 输出将被触发为低电平。
此 LBO 输出被提供到 ADC 模块中并读取电池的 ADC 状态。
上面是我们的设计的结构。
我的问题是、
我正在尝试读取电池状态、以检查电池状态是否达到20%。
我的逻辑是、
/*********
*定义
*
#define BATTERY_LOW 0xCC /*
if (batt_adc_value<=1400)
{
BATT_ADC_VALUE = BATTERY_LOW;
}
*
/*********
*声明
*
unsigned int low_power_mode_check = 0;
/*********
*端口配置
*
P3DIR &=~BIT7;
P3REN |= BIT7;
P3OUT |= BIT7;
P3IE |= BIT7;
P3IES |= BIT7;
P3IFG &=~BIT7;
PORT3ISR:如果低电平中断发生、BIT7标志被置位。 因此、onBatteryLow = 1;
//检查稳压器的电池电量不足/电池输出正常
/********
*主循环
*
while (onBatteryLow)
{
onBatteryLow = 0; //重置电池低电量标志
//根据功耗模式确定条件
while (!(P3IN 和 BIT7)) // LED 高电平,而 bit7为低电平
{
//获取电池状态
disable_temp_sensor(); //使用模拟引脚13时禁用温度传感器(A11)
LOW_POWER_MODE_CHECK =电池测量();//使用 ADC 模块模拟引脚13读取电池状态。
disable_temp_sensor();
开关(LOW_POWER_MODE_CHECK)
{
电池电量低时的情况:
{
while (!(P3IN 和 BIT7))
{
GPIO_setOutputHighOnPin (GPIO_PORT_P4、GPIO_PIN6);//用于低电池电量指示。 始终处于循环状态。
}//并且仅在 P3IN & BIT7 = 0x01后发生更改
}
中断;
默认值:break;
}
}
clear_battbuffer();
P3IE |= BIT7;
}