From a8b341316bf600d2e6fa783677fd276a5024322f Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Mon, 15 Dec 2025 17:00:10 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96272=E8=A1=A8=E5=86=A0=E6=A0=A1?= =?utf8?q?=E5=87=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../drivers/rotary_encoder/hx3508/hx3508.c | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/code/sdk/zhihui/drivers/rotary_encoder/hx3508/hx3508.c b/code/sdk/zhihui/drivers/rotary_encoder/hx3508/hx3508.c index 7105816c9..fe0e6298f 100644 --- a/code/sdk/zhihui/drivers/rotary_encoder/hx3508/hx3508.c +++ b/code/sdk/zhihui/drivers/rotary_encoder/hx3508/hx3508.c @@ -134,7 +134,9 @@ void hx3508_get_sum_y(float *data) { if(sum_deltay && coffy!= 0 && data != 0 && sum_deltay != 0) { - g_sum_y = 360/(float)sum_deltay * 1000 * coffy; + printf("sum_deltay : %d coffy : %.3f\n",sum_deltay,coffy); + // g_sum_y = 360/(float)sum_deltay * 1200 * coffy; + g_sum_y = (float)sum_deltay/1200.0f * 360.0f* coffy; // printf("sum_deltay : %d\n",sum_deltay); // printf("g_sum_y : %.3f,coffy : %.3f\n",g_sum_y,coffy); *data = -g_sum_y; @@ -580,14 +582,18 @@ void ots_data_handler(void *p_event_data, uint16_t event_size) } else { - timer_cnt++; - if (timer_cnt >= 200) // 20*10 = // 200ms:200ms内sensor没有检测到表冠转动就会关闭定时器重新开启中断响应 + if(!factory_flag) { - // printf("hx3508 enter int mode\n"); - ots_timer_stop(); // 关闭定时器 - uapi_pin_set_ie(INT_PIN,HAL_PIO_IE_ENBALE); - timer_cnt = 0; + timer_cnt++; + if (timer_cnt >= 200) // 20*10 = // 200ms:200ms内sensor没有检测到表冠转动就会关闭定时器重新开启中断响应 + { + // printf("hx3508 enter int mode\n"); + ots_timer_stop(); // 关闭定时器 + uapi_pin_set_ie(INT_PIN,HAL_PIO_IE_ENBALE); + timer_cnt = 0; + } } + if (stand_still == 0) { //上次是转动,上报状态改变 -- 2.17.1