查看: 4453|回复: 5

【程序跑飞】大家用FM33LC026N这个片子有遇到死机的情况吗??

[复制链接]

41

主题

59

帖子

485

积分

高级工程师

Rank: 3Rank: 3

积分
485
发表于 2021-10-18 10:34:42 | 显示全部楼层 |阅读模式
如题,大家用这个片子有遇到四级的情况吗,

一般出现在上电的时候,上电以后进入休眠状态就没有办法唤醒了,需要断电再上电才能恢复正常,偶尔出现,不是每次都出,


回复

使用道具 举报

217

主题

393

帖子

3477

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3477
QQ
发表于 2021-10-19 18:30:36 | 显示全部楼层
之前又客户遇到过,主要是软件配置问题,您可以用参考例程试一下;
或者把您这边的软件配置贴出来,看看是哪里的问题?

还有程序当中有没有低功耗的休眠程序,休眠模式下程序怎么配置的,朽休眠下的时钟用的是片上的RCLP还是外部的32k;
另外也可以示波器监测一下时钟输出是否正常
回复

使用道具 举报

41

主题

59

帖子

485

积分

高级工程师

Rank: 3Rank: 3

积分
485
 楼主| 发表于 2021-10-20 09:46:52 | 显示全部楼层
wangpeng 发表于 2021-10-19 18:30
之前又客户遇到过,主要是软件配置问题,您可以用参考例程试一下;
或者把您这边的软件配置贴出来,看看是 ...

程序启动了 IWDT 跟低功耗定时器以后,死机的概率就比较高,关掉独立看门狗跟低功耗定时器以后出现死机的概率就几乎可以忽略了,
低功耗定时器是用来唤醒 MCU,喂IWDT,因为 IWDT 不能唤醒 MCU
下面是看门狗初始化跟休眠程序
  1. // IWDT 初始化
  2. void MF_IWDT_Init(void)
  3. {
  4.     FL_IWDT_InitTypeDef    IWDT_InitStruct;

  5.     IWDT_InitStruct.overflowPeriod = FL_IWDT_PERIOD_4000MS;
  6.     IWDT_InitStruct.iwdtWindows = 0;
  7.    
  8.     FL_IWDT_EnableFreezeWhileSleep(IWDT);

  9.     FL_IWDT_Init(IWDT, &IWDT_InitStruct);

  10.     /*Start Of Interrupt Initialization*/
  11.     //FL_IWDT_ClearFlag_EnterWindow(IWDT);
  12.     //FL_IWDT_EnableIT_EnterWindow(IWDT);
  13.     /*End Of Interrupt Initialization*/
  14. }
复制代码
  1. /**
  2.   * @brief  LPTIM32 Initialization function
  3.   * @param  void
  4.   * @retval None
  5.   */
  6. void MF_LPTIM32_Init(void)
  7. {

  8.     /*IO CONFIG*/
  9.     FL_LPTIM32_InitTypeDef    defaultInitStruct;

  10.     defaultInitStruct.clockSource = FL_RCC_LPTIM32_CLK_SOURCE_LPOSC;      /*<! 32KHz */
  11.     defaultInitStruct.prescalerClockSource = FL_LPTIM32_CLK_SOURCE_INTERNAL;
  12.     defaultInitStruct.prescaler = FL_LPTIM32_PSC_DIV2;
  13.     defaultInitStruct.autoReload = 30000;
  14.     defaultInitStruct.mode = FL_LPTIM32_OPERATION_MODE_NORMAL;
  15.     defaultInitStruct.onePulseMode = FL_LPTIM32_ONE_PULSE_MODE_CONTINUOUS;
  16.     defaultInitStruct.countEdge = FL_LPTIM32_ETR_COUNT_EDGE_RISING;
  17.     defaultInitStruct.triggerEdge = FL_LPTIM32_ETR_TRIGGER_EDGE_RISING;

  18.     FL_LPTIM32_Init(LPTIM32,&defaultInitStruct );


  19.     FL_LPTIM32_EnableIT_Update(LPTIM32 );

  20.     FL_LPTIM32_Enable(LPTIM32);
  21. }
复制代码
  1. // 休眠程序

  2. void gotoSleep()
  3. {

  4.     if (FL_RTC_IsEnabledIT_Second(RTC))
  5.     {
  6.         FL_RTC_DisableIT_Second(RTC);
  7.         //NVIC_DisableIRQ(RTC_IRQn);
  8.     }
  9.    
  10.     EEP_POWER_OFF();
  11.     FL_LCD_Disable(LCD);
  12.     FL_RMU_PDR_Enable(RMU);
  13.     FL_RMU_BORPowerDown_Disable(RMU);
  14.     FL_PMU_SetLowPowerMode(PMU,FL_PMU_POWER_MODE_SLEEP_OR_DEEPSLEEP);
  15.     __WFI();
  16.     if (functionStatus.sleep!=0)
  17.         FL_LCD_Enable(LCD);
  18. }
复制代码
  1. /**
  2.   * @brief  WWDT Initialization function
  3.   * @param  void
  4.   * @retval None
  5.   */
  6. void myWWDTInit()
  7. {
  8.     FL_WWDT_InitTypeDef myWWDTInitStruc;
  9.     myWWDTInitStruc.overflowPeriod = FL_WWDT_PERIOD_1024CNT;
  10.     FL_WWDT_Init(WWDT,&myWWDTInitStruc);
  11. }
复制代码



  1. // 喂狗程序
  2. void cleanWDT()
  3. {
  4.     uint32_t dwdtcount;
  5.     dwdtcount = FL_WWDT_ReadCounter(WWDT);
  6.     if (dwdtcount>=512)
  7.         FL_WWDT_ReloadCounter(WWDT);
  8.     dwdtcount = FL_IWDT_ReadCounter(IWDT);
  9.     if (dwdtcount>=512)
  10.         FL_IWDT_ReloadCounter(IWDT);
  11. }
复制代码


回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2021-10-21 08:34:58 | 显示全部楼层
wangcharley 发表于 2021-10-20 09:46
程序启动了 IWDT 跟低功耗定时器以后,死机的概率就比较高,关掉独立看门狗跟低功耗定时器以后出现死机的 ...

程序中加点灯,简化程序,不推荐功能还没确定,就搞自己的一套代码,尽量用我们例程的代码,功能调通了在去修改自己代码。 硬件是不是正确,在QQ或微信群找我们的硬件工程师看下。
回复

使用道具 举报

0

主题

1

帖子

23

积分

初级工程师

Rank: 1

积分
23
发表于 2022-6-2 15:58:57 | 显示全部楼层
顾博文 发表于 2021-10-21 08:34
程序中加点灯,简化程序,不推荐功能还没确定,就搞自己的一套代码,尽量用我们例程的代码,功能调通了在 ...

qq或微信群在哪能进
回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2022-6-6 08:56:51 | 显示全部楼层
zlx 发表于 2022-6-2 15:58
qq或微信群在哪能进

找代理或者销售
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表