0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【EASY EAI Nano开源套件试用体验】点亮LED灯

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-11 16:29 次阅读

本文来源电子发烧友社区,作者:刘建华, 帖子地址:https://bbs.elecfans.com/jishu_2308743_1_1.html

【目的】学习使用GPIO外设。
1、学习资源:EASY EAI灵眸科技 | 让边缘AI落地更简单 (easy-eai.com)认直学习了gpio外设的使用。
2、在灵眸科技的示例文件夹下新建文件mypro1。在该文件夹下新建一个mypo1_gpio.c
image.png
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。
image.png

5、用file检查一下my_gpio,是arm的程序。

image.png
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灯的负极接开发板的地。
0f5641fbf5320e8bed454af7d18bbf1.jpg

8、adb登录到开发板,进入userdata/Demo目录,执行./my_gpio:

image.png
看到终端输入,同时LED灯也一秒交替亮灭。

附上开发板体验视频(详见作者原试用帖子)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • nano
    +关注

    关注

    1

    文章

    155

    浏览量

    30609
  • 灵眸
    +关注

    关注

    0

    文章

    19

    浏览量

    3194
  • 开发板试用
    +关注

    关注

    3

    文章

    301

    浏览量

    2092
收藏 人收藏

    评论

    相关推荐

    NVIDIA发布小巧高性价比的Jetson Orin Nano Super开发者套件

    NVIDIA近期推出了一款全新的生成式AI超级计算机——Jetson Orin Nano Super开发者套件。这款开发者套件以其小巧的尺寸和高性价比吸引了广泛关注。 Jetson Orin
    的头像 发表于 12-19 11:28 272次阅读

    【星闪派物联网开发套件体验连载】智能交通

    感谢电子发烧友,感谢润和软件,提供星闪派物联网开发套件试用。 本次试用计划: 用星闪派物联网开发套件,先实现本地交通项目,接入WiFi连上
    发表于 10-05 13:00

    【xG24 Matter开发套件试用体验】7-按键点亮LED

    1介绍 之前已经点亮LED,并能通过延时实现LED闪烁,这里实现通过按左键控制LED,按下按
    发表于 08-03 14:54

    【xG24 Matter开发套件试用体验】6-点亮LED2

    1也可以被点亮 2 实现LED闪烁 可以通过增加延时让led闪烁 使用系统的延时函数实现 加载延时工具包 点击install进行安装
    发表于 08-03 14:24

    【xG24 Matter开发套件试用体验】5-点亮LED

    1上篇已经创建了一个LED_TEST的工程,这里尝试点亮第一个LED 看到工程目录下有对应的LED_TEST.pintool和
    发表于 08-03 10:08

    [文章] 【xG24 Matter开发套件试用体验】点亮一个LED

    Matter LED 开发套件、Matter 兼容的智能家居控制中心(如 HomePod mini、Google Nest Hub)。 对比设备: 51单片机开发板、配套的LED
    发表于 07-26 15:12

    【xG24 Matter开发套件试用体验】初上手开发板和官方IDE

    了。点击“亮”,板载的LED0便会点亮。点击“灭灯”,板载的LED0便会熄灭。 同样的,按下板载的轻触开关BTN0,APP界面也会有响应。 总结这是我第一次使用Silicon Lab
    发表于 07-13 22:20

    STM32L496-discovery生成的LED无法点亮是什么原因?

    板子是STM32L496-discovery。用网上教程使用stmcube生成LED点亮实验,无法点亮。但用L496自带的GPIO程序运行却可以
    发表于 04-28 08:01

    【紫光同创盘古PGX-Nano教程】——(盘古PGX-Nano开发板/PG2L50H_MBG324第一章)LED闪烁实验例程

    led 、按键、拨码开关等。 ​ ​二:实验目的 控制8个LED点亮和熄灭。 三:实验原理 通常的时,分,秒的计时进位大家应该不陌生;
    发表于 04-24 15:11

    自定义系统时钟频率后,用库函数和微带两种方式点亮LED,为什么的闪烁频率不一致?

    写了一个自定义系统时钟频率的函数,然后自定义系统时钟频率为28MHz,在这个频率下用库函数和微带两种方式点亮LED,为什么的闪烁频率不一致? 代码在附件中,哪位大神帮忙看下是什么原
    发表于 03-25 21:45

    【LicheeRV-Nano开发套件试用体验】LicheeRV-Nano上的IAI技术应用

    开发板,之前试用过 DUO对其清奇骨骼,小巧的身板,强劲的性能所吸引,在知道其更加强悍的兄弟板出来后,第一时间申请到试用。 此次开发板包含物料比较充分,除了有Nano开发板,还有带触摸的全贴合屏幕
    发表于 03-07 17:32

    【LicheeRV-Nano开发套件试用体验】+智能平板开发

    首先感谢Sipeed矽速科技和电子发烧友给与的这次机会,得以试用LicheeRV-Nano开发套件,并与大家共同分享与学习。 鉴于试用报告格式调整,后面亦按要求展现。 申请理由:
    发表于 03-06 23:05

    【LicheeRV-Nano开发套件试用连载体验】+ 实现三麦克纳姆轮小车自主导航

    【LicheeRV-Nano开发套件试用连载体验】+ 实现三麦克纳姆轮小车自主导航 非常感谢被选中成为Sipeed矽速科技、电子发烧友论坛组织的此次试用体验幸运儿,有机会参与
    发表于 03-03 14:20

    EASY-EAI携手Hailo推出高性能、高算力的边缘AI硬件组合

    EASY-EAI与Hailo建立合作关系,共同推出高算力的边缘AI产品组合。
    的头像 发表于 02-21 09:56 818次阅读

    【新品体验】LicheeRV-Nano开发套件免费试用

    LicheeRV Nano是Sipeed 最新推出的全能型RISC-VLinux拇指开发板,在SD大小(22x36mm)的尺寸下,放入了几乎所有开发者需要的外设资源,并且在价格和配置上远优于前代
    发表于 01-26 16:34