Honsiti 发表于 2023-11-23 11:31:43

梁工 发表于 2023-4-11 21:22
不知道你看的是哪里的例程,初始化函数都有操作。PWMXPSCR是PWM时钟分频寄存器。PWMA_ARR=500是指周期为5 ...

梁工 我想问一下 PWM时钟 是系统文件自动配置好了吗?用户只需要配置 PSC ARR,还是用户需要配置系统时钟

梁工 发表于 2023-11-23 12:06:58

PWM时钟建议用户按需配置。比如下面的例子:
PWMA_PSCR = 11;        // 预分频寄存器, 分频 Fck_cnt = Fck_psc/(PSCR+1), 边沿对齐PWM频率 = SYSclk/((PSCR+1)*(AAR+1)), 中央对齐PWM频率 = SYSclk/((PSCR+1)*(AAR+1)*2).

Honsiti 发表于 2023-11-23 15:28:17

梁工 发表于 2023-4-11 21:22
不知道你看的是哪里的例程,初始化函数都有操作。PWMXPSCR是PWM时钟分频寄存器。PWMA_ARR=500是指周期为5 ...

梁工我想问一下以下代码我配置P3.3 P3.4的输出引脚是正常的,配置其他的引脚无法正常输出,是不是我那个寄存器配错另外。例如我配置 P1.2 P1.3引脚PWM1_ENO = 0x0C;   PWM1_CCMR2 = 0x60;PWM1_CCER1 = 0x50; 这三个关键的引脚看着手册配的,但目前实在无法找出问题原因。求指点。

void Io_Init(void)
{
                PWM1_PSCRH = 0x00;        //预分频寄存器
                PWM1_PSCRL = 0x04;        //预分频寄存器
               
                PWM1_ARRH = 0x80; //设置周期时间0x80-336HZ 0x40-674HZ
                PWM1_ARRL = 0x00;
       
                PWM1_PS = 0x00;//高级 PWM 通道输出脚选择位

                PWM1_ENO = 0;
                PWM1_ENO = 0x0C;

                PWM1_CCER1 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道
                PWM1_CCER2 = 0x00;

                PWM1_CCMR2 = 0x60;         //通道模式配置PWM模式1                        PWM1模式
                PWM1_CCMR1 = 0x30;         //通道模式配置输出比较模式翻转模式
                PWM1_CCER1 = 0x50;//配置通道输出使能和极性
                PWM1_CCER2 = 0x40;

    PWM1_BKR = 0x80; //使能主输出
    PWM1_IER = 0x04; //使能中断
    PWM1_CR1 |= 0x01; //开始计时,向上计数模式

    EA = 1;   //打开总中断
}

梁工 发表于 2023-11-23 15:37:31

Honsiti 发表于 2023-11-23 15:28
梁工我想问一下以下代码我配置P3.3 P3.4的输出引脚是正常的,配置其他的引脚无法正常输出,是不是 ...

操作初始化之前,要先有下面一句:
        P_SW2 |= 0x80;                //SFR enable   

Honsiti 发表于 2023-11-23 15:43:06

梁工 发表于 2023-11-23 15:37
操作初始化之前,要先有下面一句:
        P_SW2 |= 0x80;                //SFR enable

我的代码是有的 我只是贴上来的时候删减了。

梁工 发表于 2023-11-23 15:46:47

Honsiti 发表于 2023-11-23 15:43
我的代码是有的 我只是贴上来的时候删减了。

请直接测试我的例程:

STC32G-高级PWM范例程序下载
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=1778
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)

STC8H系列-高级PWM范例程序下载
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=1779
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)

Honsiti 发表于 2023-11-23 16:26:55

梁工 发表于 2023-11-23 15:46
请直接测试我的例程:

STC32G-高级PWM范例程序下载


下完打开只有一个.h文件 是我下的不对吗??

lzzasd 发表于 2023-11-23 21:07:06

AIKK 发表于 2023-1-7 13:52
你好,这个例程他没有设置pwm输出频率,所以导致这个例程周期最大设置65536,也就是最大周期是6ms,就没办 ...

PWM有时钟分频设置   时钟分下频率可以实现更低的周期

梁工 发表于 2023-11-24 00:13:40

Honsiti 发表于 2023-11-23 16:26
下完打开只有一个.h文件 是我下的不对吗??

还有一个目录的,你仔细找找。不要解压缩在有一堆文件的目录中,那样你很难找到的。

Honsiti 发表于 2023-11-24 08:41:26

梁工 发表于 2023-11-24 00:13
还有一个目录的,你仔细找找。不要解压缩在有一堆文件的目录中,那样你很难找到的。 ...

桌面 好像真没有 我下的是贵司提供的STC8H系列-高级PWM相关程序.rar 文件但是打开就只有一个 .h文件,没有其他的文件夹了
页: 1 2 [3] 4 5
查看完整版本: 8H/32G系列的PWM输出任意周期和任意占空比的波形