標(biāo)題: OKdo E1開發(fā)板之按鍵控制LED燈 [打印本頁]
作者: jinglixixi 時(shí)間: 2020-11-3 10:17
標(biāo)題: OKdo E1開發(fā)板之按鍵控制LED燈
在OKdo E1開發(fā)板上配置了LED和KEY,通過它們可以學(xué)習(xí)和掌握I/O口的使用方法,其原理圖見圖1所示。
1.jpg (27.4 KB, 下載次數(shù): 50)
下載附件
2020-11-3 10:17 上傳
圖1 LED和KEY原理圖
由此我們可以獲知它們與MCU的連接關(guān)系如下:
LEDR ---PIO1_4
LEDB ---PIO1_6
LEDG ---PIO1_7
WAKEUP--- PIO1_18
USER --- PIO1_9
ISP --- PIO0_5
為此LED和KEY的初始定義如下:
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ù):
- void led_init(void)
- {
- gpio_pin_config_t gpioPinConfig;
- gpioPinConfig.pinDirection = kGPIO_DigitalOutput;
- gpioPinConfig.outputLogic = 1u; /* output high as default. */
- GPIO_PinInit (GPIO, LEDR_PORT, LEDR_PIN, &gpioPinConfig);
- GPIO_PinInit (GPIO, LEDG_PORT, LEDG_PIN, &gpioPinConfig);
- GPIO_PinInit (GPIO, LEDB_PORT, LEDB_PIN, &gpioPinConfig);
- }
復(fù)制代碼
KEY
的初始化函數(shù):- void key_init(void)
- {
- static uint32_t i = 0;
- gpio_pin_config_t gpioPinConfig;
- gpioPinConfig.pinDirection = kGPIO_DigitalInput;
- gpioPinConfig.outputLogic = 1u;
- CLOCK_EnableClock(kCLOCK_Iocon);
- IOCON->PIO[KEY_S2_PORT][KEY_S2_PIN] = KEY_S2_FUNC;
- IOCON->PIO[KEY_S3_PORT][KEY_S3_PIN] = KEY_S3_FUNC;
- IOCON->PIO[KEY_S1_PORT][KEY_S1_PIN] = KEY_S1_FUNC;
- CLOCK_DisableClock(kCLOCK_Iocon);
- GPIO_PinInit (GPIO, KEY_S2_PORT, KEY_S2_PIN, &gpioPinConfig);
- GPIO_PinInit (GPIO, KEY_S3_PORT, KEY_S3_PIN, &gpioPinConfig);
- GPIO_PinInit (GPIO, KEY_S1_PORT, KEY_S1_PIN, &gpioPinConfig);
- }
復(fù)制代碼
KEY控制LED的主程序:
- int main(void)
- {
- volatile uint8_t s_KeyValue = 0;
- POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
- CLOCK_EnableClock(kCLOCK_Gpio0);
- CLOCK_EnableClock(kCLOCK_Gpio1);
- BOARD_BootClockFROHF96M();
- led_init();
- key_init();
- while (1)
- {
- s_KeyValue = key_read();
- if( (s_KeyValue&KEY2_NUM) == KEY2_NUM) // ISP
- {
- led_set(LEDR_NUM, 0);
- }
- else
- {
- led_set(LEDR_NUM, 1);
- }
- if( (s_KeyValue&KEY3_NUM) == KEY3_NUM) // WAKE
- {
- led_set(LEDG_NUM, 0);
- }
- else
- {
- led_set(LEDG_NUM, 1);
- }
- if( (s_KeyValue&KEY1_NUM) == KEY1_NUM) // USER
- {
- led_set(LEDB_NUM, 0);
- }
- else
- {
- led_set(LEDB_NUM, 1);
- }
- }
- }
復(fù)制代碼
經(jīng)編譯下載,其運(yùn)行效果如圖2~圖4所示。
2.jpg (47.14 KB, 下載次數(shù): 79)
下載附件
2020-11-3 10:17 上傳
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
日日摸日日添日日躁av
|
最新国产视频
|
亚洲最新在线视频
|
亚洲欧美在线免费观看
|
亚洲成人av
|
第一福利社区1024
|
亚洲高清视频一区
|
黄色成人免费看
|
99久久久无码国产精品
|
欧美一级免费看
|
精品国产欧美
|
欧洲精品码一区二区三区免费看
|
午夜影院在线观看
|
国产精品久久影院
|
99热成人在线
|
国产一区二区黑人欧美xxxx
|
色综合色综合
|
欧美成视频
|
国产精品久久久久久久久久久免费看
|
国产精品99久久久久久www
|
亚洲国产精品久久久久秋霞不卡
|
av天空|
免费一区二区三区
|
天天操天天操
|
91在线影院
|
玖玖操
|
亚洲电影免费
|
精品在线一区二区
|
看片一区|
国产精品高潮呻吟久久
|
亚洲精品一级
|
色欧美综合|
成人在线视频网
|
黄色精品
|
中文字幕视频在线
|
欧美 日韩 国产 成人 在线 91
|
国产精品黄色
|
91av免费版
|
91精品国产91久久综合桃花
|
欧美一区视频
|
精品福利在线
|