OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4145|回复: 3

CM4 定时器TIM7实现微妙延时问题

[复制链接]

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2021-1-8
在线时间
24 小时
发表于 2021-1-14 17:36:15 | 显示全部楼层 |阅读模式
1金钱
最近再用STM32H745ZI,双核 一个M7 一个M4,有延时需要,正好以前用F407写过微妙延时函数所以直接拿来用了,然后M4只要一进到延时就堵死,代码如下,有没有大佬参考一下看看可能是哪里出了问题?板子是官方的NUCLEO,APB1的TIM是200M时钟
  1. void MX_TIM7_Init(void)
  2. {
  3.   TIM_MasterConfigTypeDef sMasterConfig = {0};

  4.   htim7.Instance = TIM7;
  5.   htim7.Init.Prescaler = 200 - 1;
  6.   htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
  7.   htim7.Init.Period = 1;
  8.   htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  9.   if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
  10.   {
  11.     Error_Handler();
  12.   }
  13.   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  14.   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  15.   if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK)
  16.   {
  17.     Error_Handler();
  18.   }

  19. }

  20. void delay_us(uint32_t nus)
  21. {
  22.   uint16_t differ = 0xffff - nus - 5;

  23.   HAL_TIM_Base_Start(&htim7);
  24.   __HAL_TIM_SetCounter(&htim7, differ);

  25.   while(differ < 0xffff - 5)
  26.   {
  27.     differ = __HAL_TIM_GetCounter(&htim7);
  28.   }  

  29.   HAL_TIM_Base_Stop(&htim7);
  30. }
复制代码


最佳答案

查看完整内容[请看2#楼]

完结,把工程从头到尾重建一遍,终于是跑起来了,可能是之前漏了哪里的初始化,粗心大意了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2021-1-8
在线时间
24 小时
 楼主| 发表于 2021-1-14 17:36:16 | 显示全部楼层
完结,把工程从头到尾重建一遍,终于是跑起来了,可能是之前漏了哪里的初始化,粗心大意了
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-29
在线时间
5 小时
发表于 2021-1-14 19:46:39 | 显示全部楼层
我用你的代码在STM32F407上跑了一下,没有发现问题。STM32F407也是M4的内核。
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2021-1-8
在线时间
24 小时
 楼主| 发表于 2021-1-15 08:26:58 | 显示全部楼层
lichongbin 发表于 2021-1-14 19:46
我用你的代码在STM32F407上跑了一下,没有发现问题。STM32F407也是M4的内核。

对的,在F407上运行没问题,这段代码我以前一直在用,没出过问题,最近因为业务需要要用H745,然后发现程序跑不起来,最后确定是卡死在了这段用了很久的代码,所以想问问有过双核开发经验的大佬,是不是有什么地方我没有配置,导致的出错
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-3-1 01:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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