[应用相关] stm32程序超时设计

[复制链接]
365|3
 楼主| grfqq325 发表于 2021-12-31 16:52 | 显示全部楼层 |阅读模式
嵌入式中的超时——stm32程序超时设计

我认为:


在程序设计中,出现以下类似语句,是非常不可靠的,很有必要加入超时处理!

  1. while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));

以下在stm32的system_stm32f10x.c文件中,判断外部晶振起振的程序。可以参考,在以后的程序中借鉴。


  1.   #define HSE_STARTUP_TIMEOUT   ((uint16_t)0x0500) /*!< Time out for HSE start up */



 楼主| grfqq325 发表于 2021-12-31 16:53 | 显示全部楼层
  1.   /* Wait till HSE is ready and if Time out is reached exit */
  2.   do
  3.   {
  4.     HSEStatus = RCC->CR & RCC_CR_HSERDY;
  5.     StartUpCounter++;  
  6.   } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
 楼主| grfqq325 发表于 2021-12-31 16:55 | 显示全部楼层
I2C 读写EEPROM添加超时
  1.     uint16_t i = 0x0fff;
 楼主| grfqq325 发表于 2021-12-31 16:57 | 显示全部楼层
  1.     while ((!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))&&i){i--;};
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

687

帖子

4

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