Questions tagged «gpio»

GPIO代表通用输入输出,可用于从Raspberry Pi接收与简单电子设备之间的数字信号和从其发送数字信号。

2
如何使用Java从标头引脚读/写数据?
我只是在Raspberry Pi上运行Java,这比我希望的花费了很多时间。我希望能够从Java的标头针中读取数据/从中读取数据。我怎样才能做到这一点?我是否需要先使用C编写驱动程序或某种驱动程序才能从插头引脚中获取数据?我正在运行Soft-float Debian“ wheezy”的实例。在Java中甚至可以做到这一点吗?是否有我应该知道的解决方法?
9 gpio  linux  java  c 

2
驱动PWM输出频率
经过数小时无能为力的搜索和阅读,我仍然不完全了解如何以及为什么不使用其他人的“黑匣子”从RPi上的硬件PWM引脚输出特定频率。 关于具体细节以及使用的各种术语,似乎有很多不准确或不完整的信息-“时钟分频器”,“占空比”,“ PWM范围”和PWM数据本身,以及它们之间的关系一起输出特定的频率-就我而言,是将特定的音频频率驱动到压电发声器之外。
8 gpio  pwm 

2
用于C的GPIO库
我想利用我的Raspberry Pi 2上的GPIO引脚,但是由于我个人不喜欢该语言,所以我不希望使用Python。但是,我似乎找不到关于C的使用的任何信息,只有Python。 有官方的C API吗?如果是这样,我在哪里可以找到教程?如果没有,我有什么选择?
8 gpio  pi-2  c  tutorial 

2
如何检测插入了哪种HAT或GPIO板-如果有的话?
我正在设置一些Raspberry Pi,以便在演示中使用给同事,以展示Pi本身以及某些可用附加板的功能。 我真的很想能够为我正在设置的所有可能的演示维护一个cron-job / startup脚本,并让该脚本检测所插入的HAT或更旧的GPIO板,以便触发适当的演示脚本/程序。 例如, 如果连接了SenseHAT,则自动启动Sense HAT大理石迷宫 如果连接了Display-O-Tron HAT,则自动运行菜单示例 如果连接了PiTFT屏幕,则自动开始照片幻灯片放映 有什么方法可以运行sh或类似的Python,以检测连接到Pi的某些通用GPIO板中的哪一个? 我考虑过的事情: 使用来自Pinout.xyz的信息来检测使用中的引脚,但这听起来很麻烦。 请注意,我的意图是自动检测配置,而无需连接键盘,ssh或类似物-因此希望自动检测,为什么设置环境变量之类的方法无济于事。
8 gpio  hat 

3
Raspberry Pi如何区分多个扩展板?
我刚开始使用Raspberry Pi上的GPIO进行各种项目。RPi有许多分支板,其中许多具有引脚,以便将板堆叠在一起。似乎GPIO引脚直通,所有板子都有相同的引脚。对我来说,这意味着堆栈中的所有板都从RPi接收完全相同的信号,并且应表现相应。看来,针对一个板的命令可能会产生很多错误,从而影响另一板的工作方式,但显然不会发生。 那么Raspberry Pi如何知道哪个板正在获得哪些特定命令?是否存在某种初始化命令,只有特定的板才能识别该初始化命令,然后开始接受其余命令?
8 gpio 

1
使用C读取GPIO状态
我已经实现了此示例,以熟悉C中的基本GPIO编程。该代码演示了如何写入GPIO引脚,但未明确说明如何读取引脚的状态。我怀疑WiringPi最终将是一个更好的解决方案,因为我最终希望读取输出引脚的状态,但是与此同时,我想通过Dom和Gert的代码完成我的跋涉。那我怎么能读一个引脚的值呢?
8 gpio  c 

1
锁定(原子)寄存器读/写
我正在使用GPIO的直接控制进行编码,为此有一些不错的资源,例如http://elinux.org/RPi_Low-level_peripherals#GPIO_hardware_hacking;该过程涉及open(“ / dev / mem”),然后mmap操作有效地将所需的物理地址映射到您的虚拟地址空间中。然后,阅读本http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf的第6节,以了解有关如何控制I / O的信息。 要更改引脚的功能(输入或输出,或各种特殊功能),请修改GPFSELx I / O寄存器中的这3位字段(000 =输入,001 =输出对象实例)。这些修改操作被编译为具有普通加载和存储的操作(例如,将GPIO0更改为输入:*(regptr)&=〜7;编译为类似 ldr r2, [r3, #0] ; r = *ptr (load r2 from I/O register) bic r2, r2, #7 ; r2 &= ~7 str r2, [r3, #0] ; *ptr = r2 (store r2 to I/O register) 问题是这样的:如果在加载和存储之间发生中断,并且另一个进程或ISR修改了相同的I / O寄存器,则存储操作(基于读入r2的陈旧)将还原该其他操作的效果。因此,更改这些I …
8 gpio  assembler 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.