草庐IT

HAL_GPIO_ReadPin

全部标签

c - Raspberry PI、GPIO 带 SYSFS 的上拉/下拉电阻

刚开始我想声明我知道Python和其他用于在RaspberryPI上操作GPIO的高级实现。我也一直在使用WiringPICAPI,并且在RaspbianJessie上遇到了我在RaspbianWheezy上没有的问题,即使我没有更改任何一行代码。此外,WiringPICAPI开发人员表示他没有立即支持RaspbianJessie的计划,所以我有点像没有桨的小溪。出于这个原因,我一直在阅读以下关于使用sysfs访问RaspberryPIGPIO的教程(以及其他教程),因为这似乎是一种在不使用WiringPI且不编写我自己的情况下解决GPIO的方法GPIO库:http://www.her

linux - 从内核模块向用户空间通知 gpio 中断

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我有一个代码可以检测内核模块中的GPIO中断。现在,我正在寻找一种机制来在检测到来自内核模块的gpio中断时通知用户空间。任何示例/代码片段与不同选项相比具有某些优势/劣势?感谢您的回复。

linux - 为什么树莓派驱动中有 `gpio_request`而不是 `request_region`?

在LDD3一书中,如果一个驱动程序想要控制CPU的管脚,它应该调用request_region()函数来声明端口的使用。然而,当我想在我的RaspberryPi上实现一个简单的驱动程序模块时,我在thisexample中找到了它。端口请求通过gpio_request()函数实现。为什么以及何时我们需要使用gpio_request()而不是request_region()?并且,这两个函数的目的有何不同。顺便说一句:我一页一页地搜索了LDD3,但我找不到关于GPIO的任何线索...为什么没有任何关于的介绍GPIO?是2.6内核版本的问题吗? 最佳答案

ruby - 使用 select 进行 GPIO 监控

我正在尝试监控一个GPIO引脚,根据Linux文档,我应该能够通过使用监控/sys/class/gpio/gpio##/value文件来做到这一点>选择:"value"...readsaseither0(low)or1(high).IftheGPIOisconfiguredasanoutput,thisvaluemaybewritten;anynonzerovalueistreatedashigh.Ifthepincanbeconfiguredasinterrupt-generatinginterruptandifithasbeenconfiguredtogenerateinterru

linux - 虚拟 GPIO 仿真

是否存在用于编程需求的虚拟GPIO驱动程序?我必须在我的LinuxPC上开发一个软件,然后在一些带有物理GPIO的嵌入式系统(C.H.I.P.、OpenWRT等等......)上试用它?谢谢! 最佳答案 该解决方案自内核4.10起作为GPIO模型驱动程序存在并可用。一些引用资料:https://github.com/torvalds/linux/blob/v4.10/tools/testing/selftests/gpio/gpio-mockup.shhttps://github.com/torvalds/linux/blob/ma

c - 如何检测 Linux 板上 GPIO 的引脚变化

我在基于ARM的Linux板(imx233CPU)上使用3.12内核。我的目的是检测GPIO的引脚变化(1到0)。我可以不断调用下面的函数读取引脚值(在while(1)循环中)intGPIO_read_value(intpin){intgpio_value=0;charpath[35]={'\0'};FILE*fp;sprintf(path,"/sys/class/gpio/gpio%d/value",pin);if((fp=fopen(path,"rb+"))==NULL){//echoin>direction//error}fscanf(fp,"%d",&gpio_value);f

c++ - 在 linux/sys/class/gpio 中写入文件的错误

我现在遇到了我在Linux系统上见过的最奇怪的错误,似乎只有两种可能的解释-要么附加sudo使文件立即写入或者附加sudo会在执行语句时产生短暂的延迟或者我不知道我的程序发生了什么好吧,让我给你一些背景知识。我目前正在编写一个用于raspberrypigpio操作的c++程序。据我所知,程序中没有明显的错误,因为它成功地与sudo一起工作并且也成功地延迟了。所以这里是rpi的gpio是如何工作的-Firstyou'vetoexportone,toreserveitformanipulation,itwillcreateanewdirectoryasgpio+numberwithseve

linux - 如何知道 Linux 中特定引脚的中断/GPIO 编号

我正在做一个项目,我需要在其中处理Linux中的中断。我使用的电路板是ARM9Board基于三星的s3c6410MCU(arm11处理器),具有以下I/O接口(interface):如图所示,我有用于外部中断的EINTx引脚和作为GPIO引脚的GPxx引脚,我不介意使用它们中的任何一个,但我没有它们的编号!对于EINTx引脚:当我打电话intrequest_irq(unsignedintirq,void(*handler)(int,structpt_regs*),unsignedlongflags,constchar*device);我需要中断号作为函数的第一个参数传递给它,那么我怎样

linux - 在没有 `` sudo 的情况下访问 GPIO(树莓派的)``

当然,这个问题可能不是特定于树莓派的。另外,我对Linux比较陌生。我想写一个小库(在node.js中,如果重要的话)来使用sysfs访问树莓派的GPIO。但是,访问sysfs需要sudo访问权限,出于显而易见的原因,这很糟糕。Quick2Wire似乎有一个解决方案,但我想更好地理解它而不是盲目使用它。他们当然使用了C,但据我了解,代码并不复杂,并且可能只用bash就可以完成,即使不那么优雅。然而,最重要的是,我不确定为什么它有效。任何帮助都会很棒。编辑:感谢您的评论。很明显,我需要重新表述这个问题。开始:一旦安装(作为root),该应用程序如何不再需要root权限来使用?在这种情况下

STM32系列(HAL库) ——使用串口打印的3种方式

一、前期准备1、硬件:STM32C8T6最小系统板USB-TTL串口模块ST-Link下载器2、软件:keil5-IDEcubeMX二、cubeMX配置1、配置RCC——选择外部时钟源2、配置SYS—— SerialWire模式  3、时钟树拉满72M     ...... 4、配置串口1    5.创建工程    ......三、keil5代码1.方式一:使用微库(UseMicroLIB)①:需要在usrat.c文件中添加如下代码#include/***********************************************************重定义fputc函数****