国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

鴻蒙Hi3861 ADC驅動如何使用開發板上的3個按鍵

系統
本節主要介紹Hi3861 的 ADC功能,順便實現ADC按鍵檢測。這里先看效果吧。

[[352888]]

 想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

本節主要介紹Hi3861 的 ADC功能,順便實現ADC按鍵檢測。這里先看效果吧。

查看開發板,可以看到除了復位按鍵之外,還有3個按鍵。而查看原理,我們可以看到這個3個按鍵其實都是接的GPIO5 引腳,而GPIO5引腳又可復用為ADC2引腳。


故而,我們可以猜測出來我們可以使用ADC檢測電壓,判斷出來是哪個引腳被按下了。

看下效果:

當我按下 按鍵1的時候,串口會打印:

當我按下按鍵2的時候串口會打印:

當我按下 USER按鍵的時候串口會打印

其中 vlt_min 表示讀取到ADC值的最小值,

vlt_max 表示讀取到ADC值的最大值。

由此我們可以看到,按鍵1被按下的時候,ADC值得范圍在 0.563 ~ 0.577

按鍵2按下后,ADC值在 0.963 ~ 0.970

USER按鍵按下后 ADC值 在 0.197 ~ 0.204

如果沒有按鍵按下,則ADC值在 3.227 ~ 3.241

vlt_min:3.227, vlt_max:3.241

代碼實現其實很簡單。

(1)引腳初始化

這里由于GPIO5默認被復用為串口引腳,這里我們重新修改為普通GPIO引腳。初始化代碼如下:

  1. (hi_void)hi_gpio_init(); 
  2.    
  3.   hi_io_set_func(HI_IO_NAME_GPIO_5, HI_IO_FUNC_GPIO_5_GPIO); /* uart1 rx */ 
  4.  
  5.   ret = hi_gpio_set_dir(HI_GPIO_IDX_5, HI_GPIO_DIR_IN); 
  6.   if (ret != HI_ERR_SUCCESS) { 
  7.       printf("===== ERROR ======gpio -> hi_gpio_set_dir1 ret:%d\r\n", ret); 
  8.       return
  9.   } 

 (2)讀取ADC值

讀取ADC值的代碼頁相對簡單,這里,我是重復讀取64次,減少誤判。

  1. memset_s(g_adc_buf, sizeof(g_adc_buf), 0x0, sizeof(g_adc_buf)); 
  2.  
  3.   for (i = 0; i < ADC_TEST_LENGTH; i++) { 
  4.       ret = hi_adc_read((hi_adc_channel_index)HI_ADC_CHANNEL_2, &data, HI_ADC_EQU_MODEL_1, HI_ADC_CUR_BAIS_DEFAULT, 0); 
  5.       if (ret != HI_ERR_SUCCESS) { 
  6.           printf("ADC Read Fail\n"); 
  7.           return
  8.       } 
  9.       g_adc_buf[i] = data; 
  10.   } 

 (3)對讀出來的ADC值進行判斷處理

S1對應的是按鍵1 、 S2對應的是按鍵2 、 S3對應的是 USER按鍵

  1. for (i = 0; i < data_len; i++) { 
  2.      vlt = g_adc_buf[i]; 
  3.      float voltage = (float)vlt * 1.8 * 4 / 4096.0;  /* vlt * 1.8 * 4 / 4096.0: Convert code into voltage */ 
  4.      vlt_max = (voltage > vlt_max) ? voltage : vlt_max; 
  5.      vlt_min = (voltage < vlt_min) ? voltage : vlt_min; 
  6.  } 
  7.  //printf("vlt_min:%.3f, vlt_max:%.3f \n", vlt_min, vlt_max); 
  8.  
  9.  vlt_val = (vlt_min + vlt_max)/2.0; 
  10.  
  11.  if((vlt_val > 0.4) && (vlt_val < 0.6)) 
  12.  { 
  13.      if(key_flg == 0) 
  14.      { 
  15.          key_flg = 1; 
  16.          key_status = KEY_EVENT_S1; 
  17.      } 
  18.  } 
  19.  if((vlt_val > 0.8) && (vlt_val < 1.1)) 
  20.  { 
  21.      if(key_flg == 0) 
  22.      { 
  23.          key_flg = 1; 
  24.          key_status = KEY_EVENT_S2; 
  25.      } 
  26.  } 
  27.  
  28.  if((vlt_val > 0.01) && (vlt_val < 0.3)) 
  29.  { 
  30.      if(key_flg == 0) 
  31.      { 
  32.          key_flg = 1; 
  33.          key_status = KEY_EVENT_S3; 
  34.      } 
  35.  } 
  36.  
  37.  if(vlt_val > 3.0) 
  38.  { 
  39.      key_flg = 0; 
  40.      key_status = KEY_EVENT_NONE; 
  41.  } 

 (4)使用

編寫好上面代碼后,就可以直接在while循環中判斷按鍵值了:

  1. while(1) 
  2.  { 
  3.      //讀取ADC值 
  4.      app_demo_adc_test(); 
  5.  
  6.      switch(get_key_event()) 
  7.      { 
  8.          case KEY_EVENT_NONE: 
  9.          { 
  10.               
  11.          } 
  12.          break; 
  13.  
  14.          case KEY_EVENT_S1: 
  15.          { 
  16.              printf("KEY_EVENT_S1 \r\n"); 
  17.          } 
  18.          break; 
  19.  
  20.          case KEY_EVENT_S2: 
  21.          { 
  22.              printf("KEY_EVENT_S2 \r\n"); 
  23.          } 
  24.          break; 
  25.  
  26.          case KEY_EVENT_S3: 
  27.          { 
  28.              printf("KEY_EVENT_S3 \r\n"); 
  29.          } 
  30.          break; 
  31.  
  32.      } 
  33.  
  34.      usleep(30000); 
  35.  } 
  36.   

 想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2020-10-27 10:08:19

Hi3861ADC驅動

2020-12-08 12:36:41

Hi3861 ADC驅動開發

2020-10-14 09:37:03

HiBurn鴻蒙.bin文件

2020-10-30 17:12:05

Hi3861

2020-10-30 09:48:03

Hi3861開發板get請求

2020-11-06 10:15:16

HiBurn

2020-10-30 17:42:36

鴻蒙 OS Hi386

2021-06-25 15:32:13

鴻蒙HarmonyOS應用

2020-11-06 11:32:11

NV操作

2020-12-15 11:57:49

Hi3861 HarmonyOS開發板

2020-12-09 09:44:29

Hi3861硬件介紹鴻蒙開發板

2020-12-17 10:02:16

鴻蒙Hi3861開發板

2020-10-29 09:53:06

Hi3861硬件開發板

2022-08-19 10:54:47

操作系統鴻蒙

2020-11-03 12:26:55

Hi3861

2021-12-20 21:01:52

鴻蒙HarmonyOS應用

2021-09-16 10:03:39

鴻蒙HarmonyOS應用

2021-05-14 15:51:01

鴻蒙HarmonyOS應用

2020-12-02 11:48:05

TFTP

2020-11-02 12:07:11

鴻蒙 GPIO
點贊
收藏

51CTO技術棧公眾號

亚洲激情五月| 国产成人aaa| 欧美视频裸体精品| 日本在线高清| 国产日韩精品一区二区浪潮av| 91免费电影网站| 日韩精品99| 欧美在线观看视频一区二区 | 国产福利一区二区三区在线视频| 国产精品日韩欧美大师| 国产精品护士白丝一区av| 国产精品久久久久久久午夜| 性感美女一区二区在线观看| 欧美性猛交xxxxx免费看| 国产淫片免费看| 日本午夜精品视频在线观看| 国产一区玩具在线观看| julia中文字幕一区二区99在线| 精品国精品自拍自在线| 日韩二区三区| 亚洲夂夂婷婷色拍ww47| 美女呻吟一区| 久久久成人av| 悠悠资源网亚洲青| 日韩一区二区在线观看视频播放| 五月伊人六月| 亚洲欧美激情小说另类| 欧美视频第三页| a亚洲天堂av| 日韩中文字幕亚洲精品欧美| 久久精品国产999大香线蕉| 免费久久99精品国产自| 国产欧美欧美| 欧美下载看逼逼| 久久电影一区| 欧美日韩一区在线观看视频| 久久久久国产精品一区二区| 国产高清自拍一区| 亚洲精品一二三区区别| 成人精品视频在线| 最新国产精品| 精品欧美一区二区精品久久| 国产精品最新自拍| 日本在线观看一区二区| 麻豆国产欧美一区二区三区| 色乱码一区二区三区熟女| 韩国毛片一区二区三区| av动漫在线播放| 久久综合资源网| 久久国产精品国产精品| 一区二区三区精品| 黄色av免费在线观看| 91麻豆精品国产91久久久使用方法| 精产国品自在线www| 亚洲成年人影院在线| 欧美freesex| 欧美国产高跟鞋裸体秀xxxhd| 群体交乱之放荡娇妻一区二区| 国产成人精品电影久久久| 成人av资源电影网站| 国产精品久久国产精品| 麻豆精品国产91久久久久久| 成人综合视频在线| 一区二区三区在线不卡| 国产小视频在线观看| 欧美一区二区三区在线看| 在线视频超级| 久久久久久久久久av| 国产精品7m凸凹视频分类| 成人三级在线| 国产一二精品视频| 中文字幕第100页| 色老汉av一区二区三区| 高潮在线视频| 久久免费精品视频| 欧美人成在线| 欧美 国产 精品| 综合分类小说区另类春色亚洲小说欧美 | 欧美电影一区二区三区| 久久影院午夜精品| 欧美成人高清视频| 日韩电影免费网址| 一区二区在线观看网站| 久久精品一区二区三区四区| 亚洲52av| 一区二区三区视频免费| 女人av一区| 亚洲国产日韩欧美| 综合激情成人伊人| 女囚岛在线观看| 欧美激情极品视频| 亚洲国内自拍| 欧洲熟妇精品视频| 在线不卡a资源高清| 我要色综合中文字幕| 免费av一区二区三区| 亚洲日本在线观看| 在线成人av观看| 99精彩视频在线观看免费| 久久九九久精品国产免费直播| 超鹏97在线| 国产97在线|亚洲| 国产成人在线视频播放| 国产高清在线| 8050国产精品久久久久久| 日韩不卡一二三区| 欧美18一12sex性处hd| 色综合影院在线| 亚洲免费播放| а√最新版在线天堂| 精品性高朝久久久久久久| 综合视频在线| 成人免费看黄网址| 在线观看91久久久久久| 中文日韩欧美| 日本福利午夜视频在线| 91精品国产沙发| 99久久综合国产精品| 青草av在线| 国产精品污www一区二区三区| 亚洲欧洲av另类| 国产精品国产三级在线观看| 伊人av成人| 日韩一区二区免费在线观看| 人人狠狠综合久久亚洲婷| 日韩一级免费在线观看| 日韩精品中文字幕有码专区| 亚洲乱亚洲高清| 青青国产在线| 欧美资源在线观看| 久久久不卡影院| 成人国产精品入口免费视频| 神马欧美一区二区| 91精品国产一区二区三区蜜臀 | 中文字幕不卡每日更新1区2区| 亚洲福中文字幕伊人影院| 免费一级欧美在线大片| 国产在线视频在线| 亚洲精品不卡在线| 亚洲看片一区| 久热国产在线| 久久大片网站| 欧美日韩国产成人在线免费| 66国产精品| 免费av在线电影| 亚洲综合av影视| 欧美性感美女h网站在线观看免费| 最近国产精品视频| 国模大尺度私拍在线视频| 欧美专区在线播放| 国产精品久久久久久久久久免费看 | 国产精品亚洲自拍| 亚洲一二三四在线观看| 国产精品一区高清| 精产国产伦理一二三区| 日本精品免费一区二区三区| 亚洲欧美色图小说| 久久丝袜视频| 116极品美女视频在线观看| 538国产精品视频一区二区| 亚洲色图欧美激情| 欧美码中文字幕在线| 伊人网在线观看| 国产精品美女黄网| 日韩丝袜美女视频| 免费观看久久久4p| 欧美gv在线观看| 日韩在线综合网| 欧美综合在线观看| 大桥未久av一区二区三区| 狠狠爱综合网| 久久www人成免费看片中文| 超碰免费在线公开| 久久精品国产电影| 国产精品成人网| 欧州一区二区| 暖暖日本在线观看| 黑人巨大国产9丨视频| 亚洲精品在线观看www| 久久久久88色偷偷免费| 国产九一精品| 黄视频网站在线看| 大胆欧美熟妇xx| 午夜精品久久久久久久99热浪潮 | 免费在线欧美视频| av久久网站| 玖玖精品在线| 免费超爽大片黄| 欧美第一黄网免费网站| 中文字幕一区二区三区四区| 日韩国产综合| 成人片在线看| 国产又粗又长又爽视频| 欧美激情高清视频| 黑丝美女久久久| 蜜乳av一区二区三区| 99国产精品久久一区二区三区| 在线观看视频色潮| 亚洲一区二区三区在线观看视频| 久久电影一区二区|