当前位置: 首页 > news >正文

PY32F002A单片机 us 延时,非常惊讶

先说结论,这个型号,运算速度 慢!!!!!!!!!

测试1

	volatile uint32_t delay = 1000;
  /* 初始化所有外设,Flash接口,SysTick */
  HAL_Init();
	HAL_Delay(1); 
  APP_LED_Init();                            /* LED初始化 */
//	bHalInit();  
//	HAL_SYSTICK_Config(SystemCoreClock / (1000000U) ); /* SYSTICK 延时 1us  HAL_Delay 参数由1ms 改为1us*/
  while (1)
  {
//    HAL_Delay(250);                          /* 延时250ms */
//		bHalDelayMs(250);
		while(delay--)
			;
		delay = 1000;
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);   /* LED翻转 */
  }

上述代码运行在内部高速时钟8MHz

#if !defined  (HSI_VALUE) 
  #define HSI_VALUE              ((uint32_t)8000000)     /*!< Value of the Internal oscillator in Hz */
#endif /* HSI_VALUE */
uint32_t SystemCoreClock = HSI_VALUE;

运行时间1.5ms!!!!!!!!!!!!!!!!!!!!!!

大概可以等效成,一条汇编指令的运行时间约是1.5us,这也太慢了!!!!!

问题来了

不使用外部晶振,难道我就无法实现1us的延时吗!!!

现在的解决方案是1us 延时有点误差,其实很多时候都不会有什么影响。

相关文章:

  • 宿舍管理系统代码详解(操作界面)
  • 代码随想录算法训练营第四十一天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 消费增值:国家支持的消费新零售模型
  • linux 查看csv文件,按指定列聚合 排序
  • Unity面试八股文之基础篇
  • 扩散模型的一些公式证明
  • 图论(四)—最短路问题(Dijkstra)
  • JS书写规范
  • TCP/IP协议族
  • 使用python将多个mp3或者wma合并成一个mp3
  • Windows系统使用Docker部署Focalboard团队协作工具详细流程
  • can设备调试 - linux driver
  • Jmeter元件及基本作用域
  • 第三方软件测试机构进行代码审计需要哪些专业的知识?
  • 【Vue】input框自动聚焦且输入验证码后跳至下一位
  • 国内信创数据库生态
  • 数据结构(一)
  • ubuntu安装桌面
  • 电脑频繁弹出广告?掌握这4个方法,一键快速屏蔽
  • win11安装MySQL
  • 太好玩了!坐进大卫·霍克尼的敞篷车穿越他画笔下的四季
  • 秦洪看盘|浮现新预期,存量资金积极调仓
  • 马上评丨学生举报食堂饭菜有蛆,教育局应该护谁的犊子
  • 朝鲜证实出兵俄罗斯协助收复库尔斯克
  • 美联储官员:货币政策不会立即改变,金融市场波动或致美国经济增长承压
  • 五一假期上海路网哪里易拥堵?怎么错峰更靠谱?研判报告来了