久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1404|回復: 5
收起左側(cè)

有哪位大佬知道我的TIM4的編碼器模式一直無法正常測速

[復制鏈接]
ID:1064841 發(fā)表于 2023-6-4 10:47 | 顯示全部樓層 |閱讀模式

void EncoderT4_Init(void)
{
        //編碼器2
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
       
        //編碼器A相B相初始化
        GPIO_InitTypeDef GPIO_InitStructure;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
       
        //定時器4初始化
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
        TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
        TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInitStructure.TIM_Period = 65536 - 1;                //ARR
        TIM_TimeBaseInitStructure.TIM_Prescaler = 1 - 1;                //PSC
        TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
        TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStructure);
       
        //定時器4編碼器模式初始化
        TIM_ICInitTypeDef TIM_ICInitStructure;
        TIM_ICStructInit(&TIM_ICInitStructure);
        TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
        TIM_ICInitStructure.TIM_ICFilter = 0xF;
        TIM_ICInit(TIM4, &TIM_ICInitStructure);
        TIM_ICInitStructure.TIM_Channel = TIM_Channel_2;
        TIM_ICInitStructure.TIM_ICFilter = 0xF;
        TIM_ICInit(TIM4, &TIM_ICInitStructure);
       
        TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
       
        TIM_Cmd(TIM4, ENABLE);
}
int16_t Encoder_Get_L(void)
{
        int16_t Temp_L;
        Temp_L = TIM_GetCounter(TIM4);
        TIM_SetCounter(TIM4, 0);
        return Temp_L;
}
回復

使用道具 舉報

ID:123289 發(fā)表于 2023-6-5 11:07 | 顯示全部樓層
想想:測速原理是什么呢?
回復

使用道具 舉報

ID:1078332 發(fā)表于 2023-6-8 16:48 | 顯示全部樓層
void EncoderT4_Init(void)
{
        //編碼器2
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
      
        //編碼器A相B相初始化
        GPIO_InitTypeDef GPIO_InitStructure;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
      
        GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_TIM4);
        GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_TIM4);
      
        //定時器4初始化(每個脈沖1us,計數(shù)器最大范圍為65535)
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
        TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
        TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInitStructure.TIM_Period = 65535;               
        TIM_TimeBaseInitStructure.TIM_Prescaler = 84 - 1;              
        TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
        TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStructure);
      
        //定時器4編碼器模式初始化
        TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
      
        TIM_Cmd(TIM4, ENABLE);
}

int16_t Encoder_Get_L(void)
{
        int16_t Temp_L;
        Temp_L = TIM_GetCounter(TIM4);
        TIM_SetCounter(TIM4, 0);
        return Temp_L;
}
回復

使用道具 舉報

ID:1064841 發(fā)表于 2023-6-19 10:20 | 顯示全部樓層
yzwzfyz 發(fā)表于 2023-6-5 11:07
想想:測速原理是什么呢?

是讀取計數(shù)器計數(shù)值嗎(不是很懂哈哈)但是我讀取的返回值一直是1和-1,不知為何
回復

使用道具 舉報

ID:731755 發(fā)表于 2023-6-19 13:23 來自手機 | 顯示全部樓層
測速當然用中斷好一點。
回復

使用道具 舉報

ID:1064841 發(fā)表于 2023-6-19 15:08 | 顯示全部樓層
ZzCp 發(fā)表于 2023-6-8 16:48
void EncoderT4_Init(void)
{
        //編碼器2

請問為何不需使用這個TIM_ICInitTypeDef結(jié)構(gòu)體
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产乱码精品一区二区三区中文 | 中国一级大黄大片 | 国产精品欧美一区二区三区 | 成人免费三级电影 | 国产成人在线观看免费 | 精品成人在线视频 | 久久久久久久久久毛片 | 日本一区二区视频 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 亚洲精品成人av久久 | 国产精品1区 | 国产免费福利小视频 | 天天拍天天插 | 欧美久久久久久久久 | 久久首页 | 日韩高清一区 | 一区欧美 | 欧美视频在线一区 | 欧美精品日韩 | 久久福利电影 | 国产精品久久久久久一区二区三区 | 色永久| 国产精品高潮呻吟久久 | 免费视频一区 | 在线一区| 日日骚av | 成人精品鲁一区一区二区 | 久久这里有精品 | 亚洲精品久久久久久久久久吃药 | 精品久久国产 | 色婷婷婷婷色 | 天天操天天干天天透 | 青青久久av北条麻妃海外网 | 久久99蜜桃综合影院免费观看 | 久久男女视频 | 免费亚洲婷婷 | 国产精品九九九 | 国产精品区二区三区日本 | 国产成人在线视频 | 一级片av | 精品视频一区二区三区在线观看 |