华大HC32L136系列单片机 正交编码器有谁用过

[复制链接]
21923|57
芯路例程 发表于 2024-1-11 17:59 | 显示全部楼层
华大HC32l13x系列定时器正交编码功能说明- CSDN博客
宝宝a 发表于 2024-1-16 12:23 | 显示全部楼层
库里似乎没有,找代理FAE也没提过,自己跟着寄存器搓了下

  1. void Encoder_Init() {
  2.     stc_gpio_cfg_t stcGpioCfg = {0};

  3.     Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE); //端口外设时钟使能

  4.     stcGpioCfg.enDir = GpioDirIn;
  5.     stcGpioCfg.enDrv = GpioDrvL;
  6.     stcGpioCfg.enPu = GpioPuEnable;
  7.     stcGpioCfg.enPd = GpioPdDisable;
  8.     stcGpioCfg.enOD = GpioOdDisable;
  9.     stcGpioCfg.enCtrlMode = GpioAHB;

  10.     Gpio_Init(ENCODER_GPIO_Port, ENCODER_A_PHASE_Pin, &stcGpioCfg);
  11.     Gpio_SetAfMode(ENCODER_GPIO_Port, ENCODER_A_PHASE_Pin, GpioAf4);

  12.     Gpio_Init(ENCODER_GPIO_Port, ENCODER_B_PHASE_Pin, &stcGpioCfg);
  13.     Gpio_SetAfMode(ENCODER_GPIO_Port, ENCODER_B_PHASE_Pin, GpioAf6);

  14.     stc_tim3_mode23_cfg_t stcTim3BaseCfg = {0};

  15.     Sysctrl_SetPeripheralGate(SysctrlPeripheralTim3, TRUE);   //Timer3外设时钟使能

  16.     stcTim3BaseCfg.enWorkMode = Tim3WorkMode2;             //锯齿波模式
  17.     stcTim3BaseCfg.enCT = Tim3Timer;                 //定时器功能,计数时钟为内部PCLK
  18.     stcTim3BaseCfg.enPRS = Tim3PCLKDiv2;             //PCLK/2
  19.     stcTim3BaseCfg.enCntDir = Tim3CntUp;                 //向上计数,在三角波模式时只读

  20.     Tim3_Mode23_Init(&stcTim3BaseCfg);                        //TIM3 的模式23功能初始化

  21.     // see RM_HC32L13x系列参考手册_Rev2.35 14.2.7 正交编码计数功能
  22.     M0P_TIM3_MODE23->MSCR_f.SMS = 6;
  23.     M0P_TIM3_MODE1->FLTR_f.FLTA0 = 0b100;
  24.     M0P_TIM3_MODE1->FLTR_f.FLTB0 = 0b100;
  25.     M0P_TIM3_MODE23->CRCH0_f.CFA_CRA_BKSA = 0b11;
  26.     M0P_TIM3_MODE23->CRCH0_f.CFB_CRB_BKSB = 0b11;

  27.     Tim3_M23_Cnt16Set(encoder_central_count);

  28.     Tim3_M23_Run();

  29.     encoder_check = true;
  30. }

  31. uint16_t Encoder_GetCnt() {
  32.     return Tim3_M23_Cnt16Get();
  33. }

  34. void Encoder_SetCnt(uint16_t cnt) {
  35.     Tim3_M23_Cnt16Set(cnt);
  36. }
V853 发表于 2024-2-2 00:16 | 显示全部楼层
这个材料不熟悉,可以请原厂看一下吗?
xdvca 发表于 2024-7-31 22:43 | 显示全部楼层
在电动机和步进电机的控制系统中,正交编码器用于精确测量电机的旋转角度和速度,以实现精准的控制和反馈。
鹿鼎计 发表于 2024-8-1 12:05 | 显示全部楼层
我的意思是,你可以用中断来做到这一点,
digit0 发表于 2024-8-2 13:53 | 显示全部楼层
那是按按钮的编码器吗?
Pretext 发表于 2024-8-5 22:45 | 显示全部楼层
我认为任何写得不太清楚的东西都和stm一样,不容易反复写。
理想阳 发表于 2024-8-6 08:08 | 显示全部楼层
从未使用过这种正交编码器
LinkMe 发表于 2024-8-7 19:31 | 显示全部楼层
我以前从未使用过这种正交编码器
天天向善 发表于 2024-8-8 11:47 | 显示全部楼层
你需要编码器实现什么?
软核硬核 发表于 2024-8-11 08:41 | 显示全部楼层
我和op有同样的问题,你解决了吗?
AIsignel 发表于 2024-9-6 21:24 | 显示全部楼层
我是说,你可以在被打断的情况下这样做,
单芯多芯 发表于 2024-9-25 21:42 | 显示全部楼层
你需要一个编码器来实现什么?,
shenxiaolin 发表于 2024-9-29 10:17 | 显示全部楼层
没用过
物联万物互联 发表于 2024-10-10 11:16 | 显示全部楼层
正交编码器计数从未被使用过,
星闪动力 发表于 2024-10-12 18:16 | 显示全部楼层
我也有同样的问题,你解决了吗?,
nowboy 发表于 2024-10-15 22:48 | 显示全部楼层
华大HC32L136系列单片机搭配正交编码器使用效果良好,精度高,响应快,易于编程控制。很多工程师和企业已成功应用,提升设备性能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部