新唐 NuMaker-IIoT-NUC980 – 學習透過 GPIO 控制 LED (2)

Selected option
Latest playlist
新唐 NuMaker-IIoT-NUC980 – 學習透過 GPIO 控制 LED (2)
English
Introduction

以新唐 NuMaker NUC980 IIoT 為平台,使用 Linux 進行開發,學習開發各式功能,觀看本片,您將學會如何控制 GPIO 使 LED 閃爍。 哈囉大家好,我是新唐工程師 Kevin,今天為大家介紹如何在 NuMaker NUC980 IIoT 板子上透過 GPIO 讓 LED 燈閃爍。 NuMaker NUC980 IIoT 板子的 Power-on Setting上方有 3 個 LED 燈,分別由不同的 GPIO 控制。最左邊,編號 LED03 的 LED 燈是由 GPIO B8 這根 pin 控制。今天示範如何用程式控制 GPIO B8 讓 LED 燈閃爍。 這是 LED 燈閃爍的程式,在看程式之前,我先為各位說明,在 Linux kernel 中,每一根 GPIO pin 都有編號。每一個 GPIO Group 占用 32個編號,編號為 0 到 31,分配給 GPIO Port A 這個 group,編號 32 到 63 分配給 GPIO Port B,以此類推。 LED03 這個 LED 燈是由 GPIO B8 這根 pin 控制,GPIO B8 在 Linux 中的編號是 40。 回到程式中,我們看到這個程式是透過 system function 執行系統命令,透過 Linux kernel 的 sysfs 控制 GPIO。 第 23 行 system("echo40 /sys/class/gpio/export"); 是將 GPIO B8 設定成可以用sysfs 控制。 第 24 行 system("echo out /sys/class/gpio/gpio40/direction"); 是將 GPIO B8 設定為 output。 接下來在 while loop 中,透過 system("echo 1/sys/class/gpio/gpio40/value"); 讓 GPIO B8 輸出 high;再透過 system("echo 0 /sys/class/gpio/gpio40/value"); 讓 GPIO B8 輸出 low,中間延遲 1 秒鐘,就可以做到 LED 燈閃爍的功能。 這個程式,main.c,儲存後,進行 compile 輸入 arm-linux-gcc main.c -o gpio_toggle (輸入 ls) 產生一個執行檔 gpio_toggle 將 gpio_toggle 拷貝到 root file system 目錄中, (輸入 sudo cp gpio_toggle ../rootfs) 然後重新 compile Linux Kernel 透過 NuWriter 將 Linux kernel 下載到NuMaker NUC980 IIoT 板子上執行 Linux Kernel 開機完成後,輸入 ./gpio_toggle,執行閃爍 LED 的程式。 此時可以看到 NuMaker NUC980 IIoT 板子上的 LED 正在閃爍。 - 更多產品資訊,請至新唐科技網站 https://bit.ly/3hVdcmC 購買管道:https://direct.nuvoton.com/tw/numaker-nuc980-iiot 聯絡我們: SalesSupport@nuvoton.com

File
This website uses cookies to ensure you get the best experience on our website. Learn more
OK