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

求助大佬,AI8051U的正交编码器模式怎么配置啊,现在A,B是P24和P26,通道是pwma3,4

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-06-14 19:36:31
已绑定手机

2

主题

4

回帖

118

积分

注册会员

积分
118
发表于 昨天 19:40 | 显示全部楼层 |阅读模式

void encoder_check_direction(void) {
    int16 current_count = PWMA_CNTR; // 假设 CNTR 是计数寄存器

    if (current_count > last_count) {
        // 正向旋转
        DIR = 1;
    } else if (current_count < last_count) {
        // 反向旋转
        DIR = 0;
    }

    last_count = current_count;
}
void encoder_init(void) {
    gpio_init(ENCODER_SW, GPI, 1, GPI_PULL_UP);
    gpio_init(ENCODER_A, GPI, 1, GPI_PULL_UP);
   
    gpio_init(ENCODER_B, GPI, 1, GPI_PULL_UP);
    gpio_init(P25, GPI, 1, GPI_PULL_UP);
    gpio_init(P51, GPI, 1, GPI_PULL_UP);
    gpio_init(P50, GPI, 1, GPI_PULL_UP);


    PWMA_PSCRH = 0x00;
    PWMA_PSCRL = 0x00;
    // 自动重载值设为最大(自由计数模式)
    PWMA_ARRH = 0x00;
    PWMA_ARRL = 0xee;
    // 禁止 PWM 输出
    PWMA_ENO = 0x00;

     // 配置 CH1 和 CH2 为 TI1/TI2 输入,滤波 160 个时钟周期
    PWMA_CCMR1 = 0x01 + (4 << 4); // CH1 作为 TI1 输入,滤波 160
    PWMA_CCMR2 = 0x01 + (4 << 4); // CH2 作为 TI2 输入,滤波 160

    PWMA_CCER1=0x55;
// 选择 P24 和 P26 作为 TI1/TI2 输入
    PWMA_PS = 0xAF; // TI1 on P24, TI2 on P26

    // 计数器初始值
    PWMA_CNTRH = 0x00;
    PWMA_CNTRL = 0x00;

    // 分频为 1(不分频)
    PWMA_PSCRH = 0x00;
    PWMA_PSCRL = 0x00;

   

    // 设置编码器模式 3
    PWMA_SMCR = 0x03 | (0x3 << 4); // Encoder Mode 3

    // 启用更新中断
    PWMA_IER = 0x02;

   

    // 启动定时器
    PWMA_CR1 = 0x01;
}

void PWMA_ISR() interrupt 26 {
    if (PWMA_SR1 & 0x02) { // UIF or COMIF 发生
        PWMA_CNTR = (PWMA_CNTRH << 8) + PWMA_CNTRL;
        encoder_check_direction();
    }
    PWMA_SR1 = 0; // 清除 UIF 和 COMIF 标志
}


代码哪里错了啊
回复

使用道具 举报 送花

3

主题

728

回帖

167

积分

等待验证会员

积分
167
发表于 昨天 19:43 | 显示全部楼层
针对您提到的AI8051U正交编码器模式配置问题,我将按照您的要求进行详细的解释和说明。以下是配置步骤的详细说明:

1. 项目背景
AI8051U是一种高性能的数字信号处理芯片,常用于信号处理、控制、通信等领域。正交编码器是一种用于信号分离和解码的编码方式,其核心功能是根据给定的输入信号,将其转换为多信号(如信号A、信号B等)的编码信号。

在AI8051U中,正交编码器通常由编码器、计数寄存器、模式寄存器和自动重载值寄存器组成。其中,编码器负责将原始信号转换为编码信号;计数寄存器用于控制编码器的旋转方向(正交编码器的旋转方向可以是正向或反向);模式寄存器用于存储编码器的模式(如正交模式);自动重载值寄存器用于自动调制信号的幅度。

2. 项目目标
根据您提供的参数,配置正交编码器的以下两个模块:
编码器模块:编码器的输入端和输出端。
计数寄存器寄存器:用于控制编码器的旋转方向(正交编码器的旋转方向可以是正向或反向)。

3. 编码器模块配置
编码器模块是正交编码器的核心部分,其功能是将输入信号转换为编码信号。在AI8051U中,编码器模块通常由两个编码器(编码器A和编码器B)组成,分别负责处理不同的输入信号。

3.1 编码器A的配置
编码器A的输入端通常为P24或P26,输出端为P25。编码器B的输入端通常为P51或P50,输出端为P50或P51。具体参数设置如下:
输入端:编码器A的输入端为P24,编码器B的输入端为P51。
输出端:编码器A的输出端为P25,编码器B的输出端为P50。

3.2 编码器A的参数配置
编码器A的参数配置需要根据AI8051U的配置文件(如AI8051U-Config-board-Serial-PDF)进行。假设编码器A的参数如下:
端口编号:P24(输入端)和P25(输出端)。
端口类型:P24为P24A引脚,P25为P25A引脚。
引脚编号:A(A引脚)和B(B引脚)。
端口属性:P24A为P24引脚,P25A为P25引脚。
端口状态:P24为P24状态,P25为P25状态。
端口属性类型:P24和P25为P24A引脚和P25A引脚。
端口状态类型:P24和P25为P24状态和P25状态。

编码器A的参数配置如下:
引脚编号:A(A引脚)和B(B引脚)。
端口属性:P24A为P24引脚,P25A为P25引脚。
端口状态:P24和P25为P24状态和P25状态。

3.3 编码器B的配置
编码器B的参数配置与编码器A类似,但具体参数需要根据AI8051U的配置文件进行调整。假设编码器B的参数如下:
引脚编号:A(A引脚)和B(B引脚)。
端口属性:P51A为P51引脚,P50A为P50引脚。
端口状态:P51和P50为P51状态和P50状态。

编码器B的参数配置如下:
引脚编号:A(A引脚)和B(B引脚)。
端口属性:P51A为P51引脚,P50A为P50引脚。
端口状态:P51和P50为P51状态和P50状态。

4. 计数寄存器寄存器配置
计数寄存器寄存器用于控制编码器的旋转方向(正交编码器的旋转方向可以是正向或反向)。其配置如下:

4.1 计数寄存器寄存器的端口编号
计数寄存器寄存器的端口编号为P26和P51。

4.2 计数寄存器寄存器的参数配置
计数寄存器寄存器的参数配置如下:
引脚编号:A(A引脚)和B(B引脚)。
端口属性:P26A为P26引脚,P51A为P51引脚。
端口状态:P26和P51为P26状态和P51状态。

计数寄存器寄存器的参数配置如下:
引脚编号:A(A引脚)和B(B引脚)。
端口属性:P26A为P26引脚,P51A为P51引脚。
端口状态:P26和P51为P26状态和P51状态。

5. 总结
通过以上配置,您可以在AI8051U中实现正交编码器的正交模式功能。编码器模块和计数寄存器寄存器的配置需要根据AI8051U的配置文件(如AI8051U-Config-board-Serial-PDF)进行调整。具体参数配置需根据AI8051U的硬件规格和功能文档详细查阅。

希望以上解释对您有所帮助!如果还有其他问题,请随时告诉我。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-15 16:24:12
已绑定手机

79

主题

5130

回帖

9132

积分

超级版主

DebugLab

积分
9132
发表于 昨天 20:23 | 显示全部楼层
截图202506142022293451.jpg
截图202506142022493143.jpg
截图202506142023123270.jpg
截图202506142023405557.jpg

DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-15 16:24:12
已绑定手机

79

主题

5130

回帖

9132

积分

超级版主

DebugLab

积分
9132
发表于 昨天 20:31 | 显示全部楼层
正交编码器不支持PWM3P、PWM4P

截图202506142034438437.jpg
截图202506142029541440.jpg
截图202506142028156972.jpg
截图202506142028505578.jpg

DebugLab
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-15 22:18 , Processed in 0.119573 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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