本文来源电子发烧友社区,作者:刘建华, 帖子地址: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浏览量
32228 -
EASY-EAI灵眸科技
+关注
关注
4文章
102浏览量
3726 -
开发板试用
+关注
关注
3文章
303浏览量
2786
发布评论请先 登录
相关推荐
热点推荐
【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灯
评论