问题标签 [gpio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Linux下C/C++ select如何与gpio一起工作?
Linux下select如何与gpio一起工作?
是否可以使用 select 创建一种中断驱动程序,也许在一些线程的帮助下?
当我使用 select 调用时,我应该考虑什么?
谢谢
注意:我已经阅读了有关 select 的手册页,但我认为我需要有关此主题的更多帮助。
- 人 3posix 选择
- 男人 2 选择
- 男人 2 select_tut
更新: gpio 在 sysfs gpio 块中公开。但我不知道我是否可以将它与选择一起使用。
android - 扩展 UEventObserver.java
嘿!为了观察 GPIO 中断,我想创建一个观察者类,它应该是 UEventObserver.java 的子类,可以在 frameworks/base/core/java/android/os 中找到。问题是,这个类不包含在标准 SDK android.jar 中。有没有人知道如何从这个类扩展?非常感谢!
embedded - 我可以为 STM32F103ZE 芯片上的 GPIO 引脚配置中断吗?
STM32F103ZE 是否有可用的 GPIO 中断?我浏览了数据表,但没有找到与此相关的任何内容。我是这个处理器的新手,但最近使用了 TI 的 MSP430。在 MSP430 中,我们可以使用一些 GPIO 寄存器来配置中断。谁能告诉我我该怎么做?
linux-device-driver - 基于 ARM 的嵌入式 Linux 上的 GPIO IRQ
我正在尝试在 AT91SAM9M10-EKES 评估板上编写一个 GPIO IRQ。我成功注册了 IRQ,并且 IRQ 正在工作。但是,会遗漏一些中断。我发送了 26 个,但我只收到了 22 个。
编码:
这不是整个驱动程序,但这是处理 IRQ 的实际部分。如果有人在代码中看到问题,或者可以提出一种方法来了解我为什么会丢失 4 个中断,请回复。我被困在这几个小时... :(
谢谢。拉蒙。
linux - Linux内核模块中的周期性任务
目前我正在为友好的 Linux 2.6.32.2 (mini2440) 开发 GPIO 内核模块。我来自电子背景,是 Linux 新手。
/dev
启动时加载的内核模块和相关的设备文件位于gpiofreq
.
第一次写入设备文件时,GPIO 引脚以 50kHz 连续切换。在第二次写它停止切换。第三次,它再次开始,依此类推。
我已经编写了单独的内核模块来生成频率。但第一次写入设备文件后 CPU 冻结。显示终端提示,但之后我无法运行任何命令。
这是代码片段:
这是设备写入代码,它以写入设备文件的任何数据开始或停止。
arm - 如何正确初始化 I2C stm32?
我想从 ADXL345 加速度计获取数据,但似乎我连接错误。
SCL-PC6(带10k电阻)
SDA-PC7(带10k电阻)
SDO-地
CS - VCC
地 - 地
3.3v - VCC
这是我的初始化代码:
在我看到的一个例子中
但我没有这个 API 可用。
请帮我。我尝试了很多解决方案,也尝试通过 SPI 连接,但没有成功:(请帮助 I2C。
linux - 在没有忙循环的情况下,如何在 Linux 上通过 GPIO 获取边缘事件?
我正在使用嵌入式 Linux(内核 2.6.31)的系统。
内部是一个AT91SAM9G20芯片,部分Pin转发到外部。
现在我想将它们用作 GPIO 输入。
我阅读了有关通过文件系统使用 GPIO 的 gpio.txt 文档,直到这里都运行良好。我将一些开关连接到 gpio 引脚,我可以在/sys/class/gpio/gpioX/value
. 但现在我想对更改做出反应,而不是在循环中忙着等待。(即回声“Switch1 被按下”)。
我想我在这里需要中断,但如果不编写自己的内核驱动程序,我无法找到如何使用它们。我对 Linux 和 C 比较陌生(我通常用 Java 编程),所以我也想通过 sysfs 处理中断。但我的问题是,我的 GPIO 目录中没有“边缘”文件(我猜是因为这只是从内核版本 2.6.33+ 开始)。那正确吗?我uevent
在那里有一个文件,而不是“边缘”,这在gpio.txt
.
在 gpio.txt 文档中提到了一个标准内核驱动程序:“gpio_keys”。可以用它来解决我的问题吗?
我想使用这个驱动程序比允许用户空间程序操作内核任务要好。我找到了很多用于编写自己的驱动程序的代码片段,但我什至无法找出gpio.h
要包含的 600 个文件中的哪一个,以及如何引用该库(交叉编译器找不到 gpio.h 文件) .
新手有问题,望大家多多指教。
提前致谢
linux - 使用 sysfs 的 Linux 用户空间 GPIO 中断
我想使用 sysfs 在用户空间上使用带有 GPIO 的中断。我使用这些命令:
gpio 运行良好,但我不能使用中断。我到处阅读我必须有一个边缘文件来轮询这个文件。但是在我的系统上这个文件不存在。我做了很多尝试来寻找解决方案,但仍然没有成功。
我的目标是 Linux 内核 2.6.30 上的 AT91SAM9263。
在我的电路板启动时,我收到了有关中断的消息:
这表明该功能at91_gpio_irq_setup()
执行良好。
你有什么想法吗?
io - 飞思卡尔处理器中的打击垫控制功能的解释?
阅读第 1368 页的MCIMX50 应用处理器参考手册(第 33.3 节),其中列出了处理器焊盘的不同可能控制功能。
名单是:
- SRE(1 位转换速率控制)。
- DSE(2 位驱动强度控制)。
- ODE(1 位开漏控制)。
- HYS(1 位滞后控制)。
- PULL_KEEP_CTL(4 位上拉/下拉和保持器控制)
- PUS(2位上拉/下拉配置值)
- PUE(1 位拉/保持选择)
- PKE(1 位启用/禁用上拉、下拉或保持功能)
- DDR_MODE_SEL(1 位 ddr_mode 控制)
- DDR_INPUT(1 位 ddr_input 控制)
有人可以解释其中的每一个是什么,最好以具有教育意义的方式并提供附加信息的链接吗?
提前致谢。
gpio - 写入 /sys/class/gpio/export 失败
我正在做一个需要我配置 gpio 引脚并将传感器添加到原子板的项目。内核已经配置了 gpio ...CONFIG_GPIO_SYSFS=y
是内核选项之一。
我正在使用Fedora 版本 2.6.29-10
但我无法使用写入 gpio 文件夹中的导出文件
我得到错误
bash: echo: write error: Invalid argument
我也尝试了同样的方法sudo
,sh -c
但没有用,除非我可以将这些引脚暴露给用户空间,否则我无法编写任何代码。我做错了什么?
是内核版本问题还是需要设置其他一些内核选项?
提前致谢