英飞凌TC264之编码器正交解码

1.初始化
ENC 初始化

/*
*  InputPin  : ENC脉冲输入管脚  LQ_GPT12_ENC.h 中枚举体
*  DirPin    : ENC方向管脚      LQ_GPT12_ENC.h 中枚举体
*  函数返回:无
*/
void ENC_InitConfig(ENC_InputPin_t InputPin, ENC_DirPin_t DirPin)
{
}

在母版上有些脉冲管脚是被占用的,比如摄像头,摄像头数据占用,所以要选则合适的脚。
一般编码器正转为正值,反转为负值。

2.获取ENC读取值

/*
*  功能说明:ENC 得到计数值,使用前需要对ENC初始化
*  参数说明:InputPin  : ENC脉冲输入管脚  LQ_GPT12_ENC.h 中枚举体
*  函数返回:无
*/
int16_t ENC_GetCounter(ENC_InputPin_t InputPin)
{
}

3.例程:

void LQ_GPT_4mini512TFT(void)
{
  char txt[32];

  ENC_InitConfig(ENC2_InPut_P33_7, ENC2_Dir_P33_6);
  //ENC_InitConfig(ENC3_InPut_P02_6, ENC3_Dir_P02_7);//摄像头冲突,不建议用
  ENC_InitConfig(ENC4_InPut_P02_8, ENC4_Dir_P33_5);
  ENC_InitConfig(ENC5_InPut_P10_3, ENC5_Dir_P10_1);
  ENC_InitConfig(ENC6_InPut_P20_3, ENC6_Dir_P20_0);
  TFTSPI_Init(1);        //LCD初始化  0:横屏  1:竖屏
  TFTSPI_CLS(u16BLUE);   //蓝色屏幕
  TFTSPI_P8X16Str(0, 0, "Test Encoder",u16WHITE,u16BLACK);		//字符串显示
  while(1)
  {
    encValue1 = ENC_GetCounter(ENC2_InPut_P33_7);
    UART_PutStr(UART0,"\n");
    sprintf(txt, "Enc1: %05d; ", encValue1);
    UART_PutStr(UART0,txt);
    TFTSPI_P8X16Str(0, 2, txt,u16WHITE,u16BLACK);		//字符串显示
    encValue3 = ENC_GetCounter(ENC4_InPut_P02_8);
    sprintf(txt, "Enc3: %05d; ", encValue3);
    TFTSPI_P8X16Str(0, 3, txt,u16WHITE,u16BLACK);		//字符串显示
    UART_PutStr(UART0,txt);

    encValue4 = ENC_GetCounter(ENC5_InPut_P10_3);
    sprintf(txt, "Enc4: %05d; ", encValue4);
    TFTSPI_P8X16Str(0, 4, txt,u16WHITE,u16BLACK);		//字符串显示
    UART_PutStr(UART0,txt);

    encValue5 = ENC_GetCounter(ENC6_InPut_P20_3);
    sprintf(txt, "Enc5: %05d;", encValue5);
    TFTSPI_P8X16Str(0, 5, txt,u16WHITE,u16BLACK);		//字符串显示
    UART_PutStr(UART0,txt);
    /*
        encValue2 = ENC_GetCounter(ENC3_InPut_P02_6);
        sprintf(txt, "Enc2: %05d; ", encValue2);
        OLED_P6x8Str(0, 6, txt);
        UART_PutStr(UART0,txt);
    */
	LED_Ctrl(LED0,RVS);        //电平翻转,LED闪烁
	delayms(200);              //延时等待
  }
}

解释:
3.1把ENC脉冲输入管脚,方向管脚初始化
3.2初始化彩屏,为把数据在彩屏上打印做准备
3.3获取到ENC的值,循环在彩屏上打印出来,也用串口在上位机上打印出来,因为串口的初始化在主函数里初始化了,所以在在例程里面就没有进行初始化。

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于学习英飞凌TC264,我可以为你提供一些基本信息。英飞凌TC264是一款32位的TriCore微控制器,由英飞凌公司开发。它具有高性能、低功耗和丰富的外设接口,适用于多种应用领域,如汽车电子、工业自动化和物联网等。 要学习英飞凌TC264,你可以按照以下步骤进行: 1. 了解基础知识:首先,你需要了解微控制器的基础知识,包括处理器体系结构、嵌入式系统设计和C编程等。这将帮助你理解TC264的工作原理和使用方法。 2. 学习开发工具:英飞凌提供了一套完整的开发工具链,包括编译器、调试器和仿真器等。你可以下载并安装这些工具,并学习如何使用它们进行代码开发、调试和测试。 3. 参考文档和教程:英飞凌官网上有丰富的文档和教程资源,包括用户手册、应用指南和代码示例等。你可以阅读这些文档,了解TC264的特性和编程方法。 4. 实践项目:通过实际项目来应用所学知识是提高技能的有效方式。你可以选择一个小型项目,例如LED控制或传感器数据采集,使用TC264进行开发和调试。 5. 参与社区和论坛:加入英飞凌的开发者社区或相关的论坛,与其他开发者交流经验和解决问题。这将帮助你扩展知识,并从其他人的经验中学习。 希望以上信息对你有所帮助,祝你学习英飞凌TC264顺利!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值