用F4写的编码器不能读数

2019-08-17 00:33发布

用F4写的编码器不能读数,不知什么原因?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
西伯利亚没有牛
1楼-- · 2019-08-17 03:47
我们也卡在编码器上,一样的引脚初始化的复用上拉,结果只在0和1之间跳,看别人说要加上拉电阻,但是我们用示波器测试了编码器的输出波形很标准的方波啊,想问大神们怎么办
luwei2058
2楼-- · 2019-08-17 08:34
西伯利亚没有牛 发表于 2017-7-14 15:11
我们也卡在编码器上,一样的引脚初始化的复用上拉,结果只在0和1之间跳,看别人说要加上拉电阻,但是我们用 ...

我新编了一个 还是不行 你试试
西伯利亚没有牛
3楼-- · 2019-08-17 10:42
 精彩回答 2  元偷偷看……
西伯利亚没有牛
4楼-- · 2019-08-17 11:43
luwei2058 发表于 2017-7-14 15:51
我新编了一个 还是不行 你试试

void Encoder_Init_TIM3(void)
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
        GPIO_InitTypeDef  GPIO_InitStructure;
        TIM_ICInitTypeDef  TIM_ICInitStruct;
        NVIC_InitTypeDef NVIC_InitStructure;
       
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);  
          
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_Speed= GPIO_Speed_100MHz;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
       
        NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
       
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_TIM3);
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_TIM3);
       
        TIM_TimeBaseInitStructure.TIM_Period =65535;
        TIM_TimeBaseInitStructure.TIM_Prescaler=0X0;  
        TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
        TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
        TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
       
        TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
        TIM_ICStructInit(&TIM_ICInitStruct);
        TIM_ICInitStruct.TIM_ICFilter = 10;
        TIM_ICInit(TIM3, &TIM_ICInitStruct);
       
        TIM_ClearFlag(TIM3, TIM_FLAG_Update);
        TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
        TIM_SetCounter(TIM3,10000);
        TIM_Cmd(TIM3,ENABLE);
               
}
luwei2058
5楼-- · 2019-08-17 13:31
西伯利亚没有牛 发表于 2017-7-14 17:11
void Encoder_Init_TIM3(void)
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;

可以加个qq吗 我遇到了引脚接线问题 IO口测电压只有不到2v 单片机不能识别

一周热门 更多>