求GD32F103的TIM3_ETR示例程序

[复制链接]
 楼主| tylerxiang 发表于 2023-12-11 10:24 | 显示全部楼层 |阅读模式
本帖最后由 tylerxiang 于 2023-12-11 10:26 编辑

下面代码,使用STM32的HAL库,将TIM3时钟源设置为TIM3_ETR(PD2)管脚。  TIM_ClockConfigTypeDef sClockSourceConfig = {0};
  TIM_MasterConfigTypeDef sMasterConfig = {0};

  /* USER CODE BEGIN TIM3_Init 1 */

  /* USER CODE END TIM3_Init 1 */
  htim3.Instance = TIM3;
  htim3.Init.Prescaler = 0;
  htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim3.Init.Period = 1;
  htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  if (HAL_TIM_Base_Init(&htim3) != HAL_OK)
  {
    Error_Handler();
  }
  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2;
  sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_NONINVERTED;
  sClockSourceConfig.ClockPrescaler = TIM_CLOCKPRESCALER_DIV1;
  sClockSourceConfig.ClockFilter = 0;
  if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK)
  {
    Error_Handler();
  }
  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
  {
    Error_Handler();
  }

请教,如何用gd32的hal库实现同样功能?
liu96jp 发表于 2024-7-27 15:01 | 显示全部楼层
建议直接用官方的例程进行修改,其实也差不多
t1ngus4 发表于 2024-7-27 16:07 | 显示全部楼层
话说,GD不是号称可以和ST的相互兼容吗
ex7s4 发表于 2024-7-27 17:14 | 显示全部楼层
这个是得看GD的hal库的名称,找其相关的就好了
cen9ce 发表于 2024-7-27 18:07 | 显示全部楼层
你就用GD的tim3操作呗,应该就可以了吧
y1n9an 发表于 2024-7-27 19:18 | 显示全部楼层
这种就得自己移植了,得自己找才行
su1yirg 发表于 2024-7-27 20:25 | 显示全部楼层
你用固件库的方式不行吗?官方应该有固件库配置定时器的吧
lamanius 发表于 2024-7-27 21:27 | 显示全部楼层
这就要看例程了,不然挪的话都费劲
tax2r6c 发表于 2024-7-28 09:03 | 显示全部楼层
GD不是有个移植指南么,可以看看
zhizia4f 发表于 2024-7-28 11:00 | 显示全部楼层
外部触发的话,应该有相关实例的,可以看看
t1ngus4 发表于 2024-7-28 12:30 | 显示全部楼层
我建议还是用GD的固件库开发,尤其是F103这种系列
shenxiaolin 发表于 2024-7-29 22:10 | 显示全部楼层
感谢分享
小小蚂蚁举千斤 发表于 2024-7-31 22:29 | 显示全部楼层
TIM3_ETR示例程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

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