MSP430FR2433如何才能缩短上电时间呢?

[复制链接]
 楼主| elephant00 发表于 2023-2-24 14:54 | 显示全部楼层 |阅读模式
本帖最后由 xyz549040622 于 2023-2-27 16:49 编辑

我目前看波形发现 芯片掉电到1.4V后,重现上电到跑进程序需要20ms左右的时间,有没有办法可以缩短上电进入程序的时间

int main(void)
{
Init_MCU();
Init_CLOCKS();
// SFRRPCR=0x000c;
P1SEL0 |= BIT2 | BIT3;
CE_7100_SET_OUT;
CE_7100_OUT_0;
CE_7100_OUT_1;CE_7100_OUT_0;
SYSCFG0 = FRWPPW | DFWP;

if(Write_flag.mode == cmd03nack)
Write_flag.count.CMD03 ++;
if(Write_flag.count.CMD03 == 2)
Write_flag.mode = normal;
if(Write_flag.mode != cmd03nack)
Init_IIC(Box_ID);
//Tim初始化
g_sn_change.tim_count=0; //clear
g_sn_change.Check_ID0105_flag=0;
g_sn_change.VDD_START_FLAG=0;
if(attest_flag==5)
{
Init_TIM(); //关闭TIM
TA0CTL |= TASSEL_2+MC_1+ID_2; //设置定时器计数模式开启
TA0CCTL0 = CCIE;
g_sn_change.tim_count=0;
g_sn_change.Check_ID0105_flag==1;
}
else if(attest_flag!=6)
{
Init_TIM(); //关闭TIM
attest_flag=0;
}
Change_ID=ID_BUF[ID_NUM]; //每次上电,确认当前码表的ID
DATA_7100_SET_OUT;
DATA_7100_OUT_0;
// CE_7100_SET_OUT;
CLK_7100_SET_OUT;
CLK_7100_OUT_0;
CE_7100_OUT_0;
// delay_us(100);
CE_7100_OUT_1;CE_7100_OUT_0;
// if(CJ7100_start_flag==1)
// {
// VDD_7100_SET_OUT;
// memset(Check_cj7100sn, 0, sizeof(Check_cj7100sn));
// while(CJ7100_start_flag==1) //7100数据异常,重新debug写码
// {
// VDD_7100_OUT_0;delay_ms(20); CJ7100_DEBUG_RST();
//
// f_7100_SN();
// if(strncmp(FRAM_write+0x440,Check_cj7100sn,12)==0)
// {
// CJ7100_start_flag=0;
// }
// else {
// CJ7100_start_flag=1;
// }
// }
// }
SYSCFG0 = FRWPPW | PFWP | DFWP;
while (1)
{
}
}


xyz549040622 发表于 2023-2-25 22:35 | 显示全部楼层
这个时间由BOR的唤醒时间和复位后的初始化时间决定的,前者是固定的,大概1ms的时间,后者需要实测,根据你的代码,我认为20ms这个时间不算长的。
walton1226 发表于 2023-2-28 11:12 | 显示全部楼层
Init_CLOCKS();//这个函数里面耗时,配置时钟不用系统自动校正频率,手动直接赋值。
上电复位时间控制在2ms内不是问题。
pl202 发表于 2023-3-18 12:03 | 显示全部楼层
你需要做什么呢              
i1mcu 发表于 2023-3-18 13:37 | 显示全部楼层
这个是系统初始的原因吧。              
jackcat 发表于 2023-3-18 14:06 | 显示全部楼层
这个如果代码初始化比较快的应该可以。
maudlu 发表于 2023-3-18 14:48 | 显示全部楼层
是不是需要修改BootLoader?
sanfuzi 发表于 2023-3-18 15:34 | 显示全部楼层
代码初始化的过程改变不了。              
hudi008 发表于 2023-3-18 15:54 | 显示全部楼层
这个只能是下载代码到ram里面              
i1mcu 发表于 2023-3-18 16:24 | 显示全部楼层
使用汇编语言,这个应该可以实现。
zwsam 发表于 2023-3-24 21:45 | 显示全部楼层
jonas222 发表于 2023-5-5 13:30 | 显示全部楼层
可以在程序中开启外设时钟,并在需要使用外设时再初始化。
dspmana 发表于 2023-5-5 13:52 | 显示全部楼层
如何用单片机的开关来控制电路通段时间的长短
sdlls 发表于 2023-5-5 20:12 | 显示全部楼层
需要修改初始化的代码了。              
fengm 发表于 2023-5-5 20:27 | 显示全部楼层
这个需要将代码运行的效率提高了。
i1mcu 发表于 2023-5-5 21:07 | 显示全部楼层
这个缩短上电时间应该是硬件的问题吧。
adolphcocker 发表于 2023-5-5 21:32 | 显示全部楼层
将外设的初始化工作尽可能放到程序中去完成,而不是在上电时执行。
gygp 发表于 2023-5-5 22:07 | 显示全部楼层
单片机周围连接了各种外设,这些外设可能需要时间来初始化和启动,这同样会影响单片机的上电时间。
albertaabbot 发表于 2023-5-5 22:45 | 显示全部楼层
单片机需要一个晶振来提供时钟信号,晶振的启动时间也会影响单片机的上电时间。
fengm 发表于 2023-5-5 23:19 | 显示全部楼层
这个初始化的时候不要做太多的工作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1030

主题

3864

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部