硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8252|回复: 9
收起左侧

[TIMER] STM32H7的定时器输出100MHz的PWM效果

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2018-4-29 02:47:13 | 显示全部楼层 |阅读模式
    测试PWM输出100MHz方波的效果,因为我的示波器是200MHz带宽,1Gsps采样率的,用来采样100MHz方波的话,仅可以采集到基波(一次谐波,100MHz),而三次谐波(300MHz),五次谐波(500MHz),以此类推都是采集不到的(幅值严重削弱),所以最终的采集应该就是一个标准的100MHz正弦波,实际测试效果完美,就是个100MHz的正弦波。
黄色的是波形,红色的是FFT幅值谱。


回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2018-4-29 09:41:07 | 显示全部楼层
硬汉你熬夜到几点啊。。。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
 楼主| 发表于 2018-4-29 10:09:54 | 显示全部楼层
roguebear 发表于 2018-4-29 09:41
硬汉你熬夜到几点啊。。。。

晚3点,早8点
回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
发表于 2018-5-1 09:38:44 | 显示全部楼层

保重龙体呀
回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2018-5-1 10:18:07 | 显示全部楼层

保重龙根啊
回复

使用道具 举报

1

主题

70

回帖

73

积分

初级会员

积分
73
发表于 2018-5-3 10:31:25 | 显示全部楼层

是 早3点,晚8点?
回复

使用道具 举报

7

主题

52

回帖

73

积分

初级会员

积分
73
发表于 2018-5-3 11:42:46 | 显示全部楼层
硬汉,真硬
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
 楼主| 发表于 2018-12-13 18:09:05 | 显示全部楼层
备份下输出100MHz PWM的效果。


        /*##-1- 配置定时器外设 #######################################*/
        htim1.Instance = TIM1;
        htim1.Init.Prescaler = 0;
        htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
        htim1.Init.Period = 1;
        htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
        htim1.Init.RepetitionCounter = 0;
        htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
        
        /*##-2- 使能定时器 ##########################################*/
        if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
        {
                Error_Handler(__FILE__, __LINE__);
        }
        
        /* 配置模式 */
        sConfigOC.OCMode = TIM_OCMODE_PWM1;
        sConfigOC.Pulse = 1;
        sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
        sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
        sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
        sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
        sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
        if (HAL_TIM_OC_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
        {
                Error_Handler(__FILE__, __LINE__);
        }
        
         /* 配置PWM 通道 */
        sConfigOC.Pulse = htim1.Init.Period /2;
        if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
        {
                Error_Handler(__FILE__, __LINE__);
        }
        
        /* 开启PWM输出 */
        if (HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1) != HAL_OK)
        {
                Error_Handler(__FILE__, __LINE__);
        }


回复

使用道具 举报

3

主题

35

回帖

44

积分

新手上路

积分
44
发表于 2018-12-13 20:39:22 | 显示全部楼层
嗯嗯,保重龙体
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2018-12-19 14:55:28 | 显示全部楼层
牛气 牛气!讲讲吃啥能这样啊  硬汉  我们也要来一份
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 03:18 , Processed in 0.177322 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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