找回密码
 立即注册
查看: 429|回复: 5

高级PWMA-设置任意时刻触发ADC例子

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6093

回帖

1万

积分

超级版主

积分
12733
发表于 2024-12-19 17:11:50 | 显示全部楼层 |阅读模式
本例程输出3路互补的PWM1、PWM2、PWM3,用PWM4模式2(中央对齐)设置触发ADC的时刻,设置为在PWM2的下降沿前6us触发ADC,ADC转换时间为6us。PWM4没有允许输出。


本例使用PWM4触发ADC,触发时刻为PWM2下降沿前6us.
ADC输入端: P1.0(用户按需设置)。
PWM中断函数取反P3.3输出方波指示PWM中断.
ADC中断函数取反P3.4输出方波指示ADC中断.
串口1每隔1秒从P3.0 P3.1返回ADC值, 已转成十进制ASCII码.


输出波形-触发时刻.PNG

09A-PWMA-3对互补PWM输出-任意时刻触发ADC.rar (1.16 MB, 下载次数: 62)


回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6093

回帖

1万

积分

超级版主

积分
12733
发表于 2024-12-19 21:33:37 | 显示全部楼层
wnag*** 发表于 2024-12-19 21:06
任意时刻触发?用在哪里?

跟PWM关联的ADC,比如电机驱动、逆变器等等电感负载。
电感的电流是变化的(内阻小时电流与时间成线性关系),所以要求在PWM占空比结束前一段时间开始转换ADC。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:413
  • 最近打卡:2025-06-16 22:32:59

40

主题

198

回帖

739

积分

高级会员

积分
739
发表于 2024-12-20 08:35:59 | 显示全部楼层
好的,我参考一下,正需要外部触发ADC的例子。谢谢。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:346
  • 最近打卡:2025-06-17 08:45:16

0

主题

7

回帖

1512

积分

金牌会员

积分
1512
发表于 2025-5-27 22:53:08 来自手机 | 显示全部楼层
梁工请问一下这例子是写哪个寄存器来使用PWM2来触发ADC呀

点评

PWMA_CR2 |= (7  详情 回复 发表于 2025-5-28 00:11
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6093

回帖

1万

积分

超级版主

积分
12733
发表于 2025-5-28 00:11:34 | 显示全部楼层
大脸猫*** 发表于 2025-5-27 22:53
梁工请问一下这例子是写哪个寄存器来使用PWM2来触发ADC呀

        PWMA_CR2   |= (7<<4);        // 触发ADC信号选择(TRG0), 1:计数器使能信号,  2:更新事件, 3:比较脉冲, 4:比较OC1REF, 5:比较OC2REF, 6:比较OC3REF, 7:比较OC4REF.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:346
  • 最近打卡:2025-06-17 08:45:16

0

主题

7

回帖

1512

积分

金牌会员

积分
1512
发表于 2025-5-28 06:19:45 来自手机 | 显示全部楼层
梁工 发表于 2025-5-28 00:11
PWMA_CR2   |= (7

谢谢
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 20:25 , Processed in 0.136889 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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