找回密码
 立即注册
查看: 71|回复: 3

STC8H如何使用PWM周期重复触发ADC,库函数版本

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-12-17 09:53:18
已绑定手机

1

主题

2

回帖

11

积分

新手上路

积分
11
发表于 2025-12-4 10:03:22 | 显示全部楼层 |阅读模式
库函数版本不知道如何配置才能实现此功能,就像如何使能TRGO
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:641
  • 最近打卡:2025-12-17 10:15:23
已绑定手机
已实名认证

123

主题

3278

回帖

8316

积分

版主

积分
8316
发表于 2025-12-4 10:31:49 | 显示全部楼层
没有这部分功能,直接使用寄存器操作吧
截图202512041030147660.jpg
例如配置完PWM后,可以在PWM一个周期开始的时候触发ADC,使用PWMA_CR2 = 0x40;//更新事件触发TRGO,触发ADC转换,需要提前设置好ADC
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-12-17 09:53:18
已绑定手机

1

主题

2

回帖

11

积分

新手上路

积分
11
发表于 2025-12-4 11:28:14 | 显示全部楼层
王*** 发表于 2025-12-4 10:31
没有这部分功能,直接使用寄存器操作吧

例如配置完PWM后,可以在PWM一个周期开始的时候触发ADC,使用PWMA_ ...

C:\Users\86175\Desktop\11.png看着是找到了
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-12-17 09:53:18
已绑定手机

1

主题

2

回帖

11

积分

新手上路

积分
11
发表于 昨天 09:53 | 显示全部楼层
        P1M0 = 0x00;
        P1M1 = 0x02;
        P3M0 = 0x00;
        P3M1 = 0x00;
       
        ADC_CONTR = ADC_POWER|ADC_EPWMT|1;
        delay_ms(10);
        EADC = 1;
       
//        PWMA_CR2 = 0x20;
//        PWMA_ARR = 3450;
//        PWMA_IER = 0x01;
//        PWMA_CR1 = 0x01;
       
        PWMA_CCER1 = 0x00;                          // 写 CCMRx 前必须先清零 CCxE 关闭通道
        PWMA_CCMR1 = 0x70;                          // 设置CC1为PWM输出模式2
        PWMA_CCER1 = 0x01;                          // PWM1P配置通道输出使能和极性
        PWMA_CCMR1 |= 0x0C;                         // 开启PWMA_CCR1寄存器的预装载功能,输出比较快速使能
        PWMA_ARR = 5000;
        PWMA_CCR1 = 240;                            // 设置占空比时间
        PWMA_ENO = 0x01;                            // 使能PWM1P
        PWMA_BRK = 0x80;                            // 使能主输出

        PWMA_PS = 0x00;  //高级 PWM 通道输出脚选择位

        EADC = 1;
        PWMA_CR2 = 0x20; //CEN 信号为 TRGO,可用于触发 ADC. 设置 0x10:单次触发;0x20:周期触发
        PWMA_ARR = 500;
        PWMA_IER = 0x40;
        PWMA_CR1 = 0x01; //设置 CEN 启动 PWMA 定时器,实时触发 ADC
       
        UART_config();
        Timer_config();
        EA = 1;                                                                                                      
==================================================
目前参照规格书写的,能输出PWM,也能触发ADC采样,但是输出的PWM波形会跳动,低电平时电平也低不下去,用官方例程的高级PWM例程输出的波形是正常的
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-18 16:29 , Processed in 0.104960 second(s), 59 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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