绝对值编码器数据接收的问题

实验环境:STM32F407,KEIL5,绝对值式编码器
程序目的:将串口接收到的编码器的数据存到数组RecBufEncode中,Count计数,ch是编码器通过串口返回的数据,编码器设置的是自动发送数据。如果存入数据满足13位,进入while中执行后续操作

	#define LEN 13				//定义接收一条指令的长度	绝对式编码器的返回值

	RecBufEncode[Count++]=ch;
	Count %= LEN;
	while(0 == Count)  
	{
	   ...//后续操作
	}

上诉方式实现不了目的。
实验结果:只能读取每次上次后获取的第一个数据,在转动编码器后,数据存在但数值不变。

   #define LEN 13				//定义接收一条指令的长度	绝对式编码器的返回值    
   
   RecBufEncode[Count++]=ch;
   while(Count >= LEN)   
	{			
        Count = 0;	
        ...//后续操作
    }

上诉方式可以实现目的
疑问:为何第一种不可以 ?恳请大神指教

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值