[mw_shl_code=c,true]void main(void)
{
while(1)
{
num = TIM3->CNT;//获得编码器的计数值,编码器是在不停旋转 的,所以num一直在改变
Contorl(num);//通过获取到的num值来控制对应的GPIO
if(Uart1_rev_flag == 0x01)
{
Uart1_rev_flag = 0x00;//接收一帧数据标志清零
ParseRecieve();//数据帧处理函数
GPIO_ResetBits(GPIOA,GPIO_Pin_0);//485接收使能,关闭发送使能
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//允许接收中断
}
}
}//同时,我的stm32会不停的接收到触摸屏发出的数据帧进行响应回发,采用的是串口中断处理,在接受中断接受数据帧,通过定时器来判断一帧数据是否接受完毕,然后进行帧解析ParseRecieve();回发数据!
现在出现的问题就是我在让编码器高速旋转的时候,只要是进行通信,就会影响到我的Contorl(num)函数,即影响了我的GPIO控制;如果不通信或者通信的次数较少,影响就没有或者几乎没有!谁能告诉我这是什么原因啊![/mw_shl_code]
|