若水 发表于 2024-6-4 14:29:51

STC8H2组正交编码器程序在哪里获取?

国学芯用 发表于 2024-6-4 16:44:36

若水 发表于 2024-6-4 14:29
STC8H2组正交编码器程序在哪里获取?


宝,数据手册里有https://www.stcaimcu.com/forum.php?mod=attachment&aid=Mzg5NnxkNTJiMzZhN3wxNzE2ODA3MTc0fDF8OTg2

hhr1017 发表于 2024-7-4 15:13:20

如果用了PWM1P和PWM2P接编码器,那PWM1N和PWM2N对应的引脚还可以用来做普通IO吗?

giveyou 发表于 2024-11-20 13:37:42

数码管显示很好

我的用户名 发表于 2025-2-20 22:19:27

请教各位前辈:我用STC8H1K08 SOP16接一个编码器,按照手册上范例程序“23.10.22使用高级PWM实现编码器”,编码器A相接P1.0,编码器B相应该接P1.2,但是这个MCU没有P.2,根据手册描述P1.2在P5.4口上,但是始终读取不到脉冲数字,一直是0,后来把编码器B相改接到P1.6,脉冲数字还是0,不知何故,还望各位前辈帮忙指正,谢谢!
串口通讯正常,因为我把pulse改成数值888后模拟数码管显示数值888正常。


void PWMA_config(void)
{
      PWMA_PSCR = 0;// 预分频寄存器, 分频 Fck_cnt = Fck_psc/(PSCR[15:0}+1)
      PWMA_ARR= 0xffff;// 自动重装载寄存器,控制PWM周期
      PWMA_CNTR         = 0;//清零编码器计数器值
      PWMA_ENO    = 0;      // IO输出禁止
      PWMA_CCMR1= 0x01+(10<<4);      // 通道1模式配置, 配置成输入通道, 0~15对应输入滤波时钟数: 1 2 4 8 12 16 24 32 48 64 80 96 128 160 192 256
      PWMA_CCMR2= 0x01+(10<<4);      // 通道2模式配置, 配置成输入通道, 0~15对应输入滤波时钟数: 1 2 4 8 12 16 24 32 48 64 80 96 128 160 192 256
      PWMA_SMCR   = 2;                        // 编码器模式, 模式1或模式2: 每个脉冲两个边沿加减2.   模式3: 每个脉冲四个边沿加减4.
      PWMA_CCER1= 0x55;                        // 配置通道输入使能和极性, 允许输入, 下降沿
      PWMA_CCER2= 0x55;                        // 配置通道输入使能和极性, 允许输入, 下降沿      
      PWMA_PS   = 0;                        // 选择IO,0:选择P1.0 P1.2
      PWMA_IER    = 0x02;      //设置允许通道1~4中断处理
      PWMA_CR1    = 0x01;                        // 使能计数器, 允许自动重装载寄存器缓冲, 边沿对齐模式, 向上计数,bit7=1:写自动重装载寄存器缓冲(本周期不会被打扰), =0:直接写自动重装载寄存器本(周期可能会乱掉)
}



void PWMA_ISR(void) interrupt 26
{
      if(PWMA_SR1 & 0x02)      //通道1 编码器中断
      {
                pulse = PWMA_CNTR;
                B_Change = 1;                //标志已有捕捉值
      }
      PWMA_SR1 =0;
}













我的用户名 发表于 2025-2-20 22:33:14

正转或者反转编码器旋钮,串口都能看到有数据发送过来,模拟数码管显示的数值是0




编码器接线是按照梁老师的这个图接线的


春去冬来月如风 发表于 2025-4-14 09:32:49

梁工 发表于 2023-5-29 15:03
如果不够,还可以:
STC32G-使用外中断和一个I/O读取正交编码器-7段虚拟数码管显示



请问一下梁工,STC32G8K64的,PWMB 读编码器 7 8通道 是不是不能用?我这边中断可以进,就是计数器读不到数据,范例程序也没有用7、8通道的

梁工 发表于 2025-4-14 17:15:21

春去冬来月如风 发表于 2025-4-14 09:32
请问一下梁工,STC32G8K64的,PWMB 读编码器 7 8通道 是不是不能用?我这边中断可以进,就是计数器读不到 ...

编码器使用通道5、6做输入。

zackwu 发表于 2025-4-19 16:21:56

梁工 发表于 2023-6-19 11:28
ADC读15通道计算VCC,5V工作的话,低于4.5V就启动掉电保存EEPROM。
建议用1ms的间隔启动ADC,在ADC中断中 ...

你好,梁工,ADC15通道,我用32G的盒子写了一个程序,读取的数值不太对,BGV是对的,反推应该是RES不对。能否麻烦抽空指点下。

梁工 发表于 2025-4-19 17:06:29

zackwu 发表于 2025-4-19 16:21
你好,梁工,ADC15通道,我用32G的盒子写了一个程序,读取的数值不太对,BGV是对的,反推应该是RES不对。 ...

能否具体一点说说?只说数值不太对,我没法判断。
页: 1 2 [3] 4
查看完整版本: 【 32G / 8H 系列的2组硬件PWM支持 2组正交编码器】,有视频讲解