本文來源電子發燒友社區,作者:劉建華, 帖子地址:https://bbs.elecfans.com/jishu_2308743_1_1.html
【目的】學習使用GPIO外設。
1、學習資源:EASY EAI靈眸科技 | 讓邊緣AI落地更簡單 (easy-eai.com)認直學習了gpio外設的使用。
2、在靈眸科技的示例文件夾下新建文件mypro1。在該文件夾下新建一個mypo1_gpio.c
3、代碼如下:
#include
#include
#include
#ifndef CONSUMER
#define CONSUMER "Consumer"
#endif
int main(int argc, char **argv)
{
char *chipname = "gpiochip3";
unsigned int line_num = 11; // GPIO GPIO3_B3
unsigned int val;
struct gpiod_chip *chip;
struct gpiod_line *line;
int i, ret;
chip = gpiod_chip_open_by_name(chipname);
if (!chip) {
perror("Open chip failedn");
goto end;
}
line = gpiod_chip_get_line(chip, line_num);
if (!line) {
perror("Get line failedn");
goto close_chip;
}
ret = gpiod_line_request_output(line, CONSUMER, 0, 0);
if (ret < 0) {
perror("Request line as output failedn");
goto release_line;
}
/* Blink 20 times */
val = 0;
for (i = 20; i > 0; i--) {
ret = gpiod_line_set_value(line, val);
if (ret < 0) {
perror("Set line output failedn");
goto release_line;
}
printf("Output %u on line #%un", val, line_num);
sleep(1);
val = !val;
}
release_line:
gpiod_line_release(line);
close_chip:
gpiod_chip_close(chip);
end:
return 0;
}
3、在其的demo下面拷貝build.sh到文件夾下。再拷貝一個makefile.txt到此文件下,修改makefile.txt如下:
cmake_minimum_required(VERSION 2.8.4)
STRING(REGEX REPLACE ".*/(.*)" "1" CURRENT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR} )
MESSAGE("current project: " ${CURRENT_FOLDER})
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_CROSSCOMPILING TRUE)
set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
# find host dir and set CMAKE_TOOLCHAIN_FILE before call project
execute_process(COMMAND which ${CMAKE_C_COMPILER}
OUTPUT_VARIABLE gcc_full_path)
get_filename_component(gcc_full_dir ${gcc_full_path} DIRECTORY)
set(HOST_DIR "${gcc_full_dir}/..")
set(CMAKE_TOOLCHAIN_FILE "${HOST_DIR}/share/buildroot/toolchainfile.cmake")
project(${CURRENT_FOLDER})
add_definitions(-Wall)
set(toolkit_root ${CMAKE_CURRENT_SOURCE_DIR}/../easyeai-api)
#--------------------------
# test-gpio
#--------------------------
add_executable(my_gpio mypro1_gpio.c) #-o 這里指定要編譯的文件與輸出的文件名
target_link_libraries(my_gpio pthread gpiod) #-l 這里指鏈接的文件名my_gpio
4、編譯,執行./build.sh,生成了my_gpio。
5、用file檢查一下my_gpio,是arm的程序。

6、用adb push到開發板:
developer@EASY-EAI-Develop:~/EASY-EAI-Toolkit-C-Demo/mypro1/build$ adb push my_gpio /userdata/Demo/my_gpio
my_gpio: 1 file pushed. 0.4 MB/s (12308 bytes in 0.026s)
7、用杜綁線將開發板P1的15腳與LED燈的正級相連,LED燈的負極接開發板的地。
8、adb登錄到開發板,進入userdata/Demo目錄,執行./my_gpio:

看到終端輸入,同時LED燈也一秒交替亮滅。
附上開發板體驗視頻(詳見作者原試用帖子)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
nano
+關注
關注
1文章
162瀏覽量
32059 -
EASY-EAI靈眸科技
+關注
關注
4文章
67瀏覽量
3611 -
開發板試用
+關注
關注
3文章
303瀏覽量
2730
發布評論請先 登錄
相關推薦
熱點推薦
【EASY EAI Nano-TB(RV1126B)開發板試用】介紹、系統安裝
【EASY EAI Nano-TB(RV1126B)開發板試用】介紹、系統安裝
本文介紹了靈眸科技 EASY
發表于 12-23 18:05
【EASY EAI Nano-TB(RV1126B)開發板試用】+1、開箱上電
EASY EAI Nano-TB(RV1126B)開發板開箱報告:
1 開箱體驗:精致包裝與豐富配件
EASY EAI
發表于 11-19 21:39
EASY EAI Nano-TB(RV1126B)開發板試用】1、初識
非常感謝電子發燒友以及靈眸科技給了我這次試用EASY EAI Nano-TB(RV1126B)開發板的機會,星期四確認了我的試用機會,星期五
發表于 11-16 11:15
【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈按鈕項目
0接上文【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈項目-實現開機起動
EASYEAINano-TB(RV1126
發表于 11-03 10:00
【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈項目
Nano-TB(RV1126B)開發板,通過GPIO控制實現紅綠燈板的三種顏色LED燈交替閃爍功能。開發板使用SSH進行遠程控制通過WiFi連接。
硬件
EASY
發表于 11-02 18:34
【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-燈閃
GPIO引腳連接到* 紅綠燈板 :一個簡單的外部設備,包含紅、綠、黃三個LED燈上,以控制其色彩的變換效果。
紅綠燈板
紅綠燈板 3V3 接EASY EAI
發表于 11-01 21:26
【免費試用】EASY EAI Nano-TB(RV1126B)開發套件評測
EASY-EAI-Nano-TB是靈眸科技研發的一款應用于AIoT領域的AIOT主板。核心板基于瑞芯微的RV1126B處理器設計,并引入了新一代完全基于硬件的最大12M像素ISP(圖像信號處理器
【作品合集】靈眸科技EASY EAI Orin Nano(RK3576)開發板測評
免費試用
作者:華仔stm32【EASY EAI Orin Nano(RK3576)開發板試用體驗】開發環境準備
【
發表于 09-09 09:59
【EASY EAI Orin Nano開發板試用體驗】EASY-EAI-Toolkit人臉識別
本篇使用算法組件實現人臉檢測。
一.準備工作
1.首先使用到EASY-EAI-Toolkit組件,ubuntu掛載目錄下克隆git clone https://github.com/EASY-EAI
發表于 07-20 14:40
【EASY EAI Orin Nano開發板試用體驗】人臉識別提升
【前言】【新提醒】【EASY EAI Orin Nano開發板試用體驗】人臉識別體驗 - EASY EA
發表于 07-05 15:21
【EASY EAI Orin Nano開發板試用體驗】EASY-EAI-Toolkit初體驗
本次EASY EAI Orin Nano開發板試用體驗主要是超級想體驗靈眸的EASY-EAI-Toolkit。
一、簡介
發表于 06-28 21:21
【EASY EAI Orin Nano開發板試用體驗】開箱和固件燒錄更新體驗
首先感謝靈眸科技和發燒友組織的開發板大賽!
一、硬件介紹
靈眸科技EASY EAI Orin-Nano基于瑞芯微的RK3576處理器設計,集成了4個Cortex-A72和4個Cortex-A53
發表于 06-26 23:41
【EASY EAI Orin Nano開發板試用體驗】人臉識別體驗
root@EASY-EAI-ORIN-NANO:/# sudo mount -t nfs 192.168.3.85:/home/developer/nfsroot /home/orin-nano/Desktop
發表于 06-26 06:54
【EASY EAI Orin Nano開發板試用體驗】安裝nfs服務器
nolock
root@EASY-EAI-ORIN-NANO:/home/orin-nano/Desktop# mkdir nfs
root@EASY-EAI-ORIN-NANO:/home
發表于 06-22 17:32
【EASY EAI Orin Nano開發板試用體驗】開發環境準備
【前言】
首先感謝電子發燒友論壇以及靈眸科技給示了我這次非常難得的【EASY EAI Orin Nano開發板試用體驗】的機會,在進行評測之前首先需要創建開發環境。
靈眸科技有非常詳細
發表于 06-22 16:42
【EASY EAI Nano開源套件試用體驗】點亮LED燈
評論