久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2697|回復: 0
打印 上一主題 下一主題
收起左側

OKdo E1開發(fā)板之按鍵控制LED燈

[復制鏈接]
跳轉到指定樓層
樓主
ID:776997 發(fā)表于 2020-11-3 10:17 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
OKdo E1開發(fā)板上配置了LEDKEY,通過它們可以學習和掌握I/O口的使用方法,其原理圖見圖1所示。

1  LEDKEY原理圖

由此我們可以獲知它們與MCU的連接關系如下:
LEDR   ---PIO1_4
LEDB   ---PIO1_6
LEDG   ---PIO1_7
WAKEUP--- PIO1_18
USER   --- PIO1_9
ISP     --- PIO0_5

為此LEDKEY的初始定義如下:
LED的引腳定義:
#defineLEDR_PORT            1u
#defineLEDR_PIN              4u
#defineLEDR_FUNC            (IOCON_FUNC0 | IOCON_MODE_PULLUP |IOCON_DIGITAL_EN)

#defineLEDG_PORT            1u
#defineLEDG_PIN              7u
#defineLEDG_FUNC            (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_DIGITAL_EN)

#defineLEDB_PORT             1u
#defineLEDB_PIN               6u
#defineLEDB_FUNC              (IOCON_FUNC0 | IOCON_MODE_PULLUP |IOCON_DIGITAL_EN)

#defineLEDR_NUM              1u
#defineLEDG_NUM              2u
#defineLEDB_NUM              3u

KEY的引腳定義:
#defineKEY_S2_PORT    0u
#defineKEY_S2_PIN      5u
#defineKEY_S2_FUNC    (IOCON_FUNC0 |IOCON_MODE_PULLUP | IOCON_DIGITAL_EN)

#defineKEY_S3_PORT    1u
#defineKEY_S3_PIN      18u
#defineKEY_S3_FUNC    (IOCON_FUNC0 | IOCON_MODE_PULLUP| IOCON_DIGITAL_EN)

#defineKEY_S1_PORT    1u
#defineKEY_S1_PIN      9u
#defineKEY_S1_FUNC    (IOCON_FUNC0 |IOCON_MODE_PULLUP | IOCON_DIGITAL_EN)

#defineKEY2_NUM       0x02
#defineKEY3_NUM       0x01
#define KEY1_NUM       0x04

LED的初始化函數(shù):
  1. void led_init(void)
  2. {
  3. gpio_pin_config_t   gpioPinConfig;
  4. gpioPinConfig.pinDirection = kGPIO_DigitalOutput;
  5. gpioPinConfig.outputLogic  = 1u; /* output high as default. */
  6. GPIO_PinInit (GPIO, LEDR_PORT, LEDR_PIN, &gpioPinConfig);
  7. GPIO_PinInit (GPIO, LEDG_PORT, LEDG_PIN, &gpioPinConfig);
  8. GPIO_PinInit (GPIO, LEDB_PORT, LEDB_PIN, &gpioPinConfig);
  9. }
復制代碼

KEY的初始化函數(shù):
  1. void key_init(void)
  2. {
  3. static uint32_t i = 0;
  4. gpio_pin_config_t   gpioPinConfig;
  5. gpioPinConfig.pinDirection = kGPIO_DigitalInput;
  6. gpioPinConfig.outputLogic  = 1u;
  7. CLOCK_EnableClock(kCLOCK_Iocon);
  8. IOCON->PIO[KEY_S2_PORT][KEY_S2_PIN] = KEY_S2_FUNC;
  9. IOCON->PIO[KEY_S3_PORT][KEY_S3_PIN] = KEY_S3_FUNC;
  10. IOCON->PIO[KEY_S1_PORT][KEY_S1_PIN] = KEY_S1_FUNC;
  11. CLOCK_DisableClock(kCLOCK_Iocon);
  12. GPIO_PinInit (GPIO, KEY_S2_PORT, KEY_S2_PIN, &gpioPinConfig);
  13. GPIO_PinInit (GPIO, KEY_S3_PORT, KEY_S3_PIN, &gpioPinConfig);
  14. GPIO_PinInit (GPIO, KEY_S1_PORT, KEY_S1_PIN, &gpioPinConfig);
  15. }
復制代碼

KEY控制LED的主程序:
  1. int main(void)
  2. {
  3. volatile uint8_t s_KeyValue = 0;
  4. POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
  5. CLOCK_EnableClock(kCLOCK_Gpio0);
  6. CLOCK_EnableClock(kCLOCK_Gpio1);
  7. BOARD_BootClockFROHF96M();
  8. led_init();
  9. key_init();
  10. while (1)
  11. {
  12. s_KeyValue = key_read();
  13. if( (s_KeyValue&KEY2_NUM) == KEY2_NUM)   // ISP
  14. {
  15. led_set(LEDR_NUM, 0);
  16. }
  17. else
  18. {
  19. led_set(LEDR_NUM, 1);
  20. }
  21. if( (s_KeyValue&KEY3_NUM) == KEY3_NUM)   // WAKE
  22. {
  23. led_set(LEDG_NUM, 0);
  24. }
  25. else
  26. {
  27. led_set(LEDG_NUM, 1);
  28. }
  29. if( (s_KeyValue&KEY1_NUM) == KEY1_NUM)  // USER
  30. {
  31. led_set(LEDB_NUM, 0);
  32. }
  33. else
  34. {
  35. led_set(LEDB_NUM, 1);
  36. }
  37. }
  38. }
復制代碼

經編譯下載,其運行效果如圖2~4所示。



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级黄色片在线看 | 久久99视频精品 | 国产成人在线播放 | 日韩福利在线 | 欧美在线观看一区 | 亚洲系列第一页 | 久久久激情视频 | 免费av在线网站 | 日韩精品极品视频在线观看免费 | 国产在线观看av | 色视频www在线播放国产人成 | 欧美日韩一区二区在线播放 | 日本成人三级电影 | 天天视频一区二区三区 | 国产一区二区观看 | 日本成人一区二区 | 日韩中文字幕在线 | 久久国产区 | 成人在线h| 中文av在线播放 | 成人午夜影院 | 特级a欧美做爰片毛片 | 欧美日韩一区二区视频在线观看 | jⅰzz亚洲 | 毛片国产 | 夜夜草 | 精品日韩一区二区 | 久久久免费 | 天天搞夜夜操 | 亚洲黄色高清视频 | 久久综合色综合 | 欧美久久久网站 | 特级毛片爽www免费版 | 男人电影天堂 | 日韩一区二区三区在线视频 | 国产精品资源在线 | 欧洲成人免费视频 | 久久伊人一区 | 殴美成人在线视频 | 久久精品伊人 | 午夜精品一区 |