Tag: gpio

使用带有gpio引脚的xc8编译器在C中初始化驱动程序

可以说我有一个驱动程序“foo.h”和“foo.c”实现。 驱动器与微控制器上的gpio引脚交互。 在Arduino中,每个GPIO引脚都有自己的引脚号(只是一个整数)。 然后,您可以使用函数initFoo(1)或initFoo(2)初始化foo,以选择要使用的引脚。 在Mbed在线c ++编译器中,可以使用DigitalIn或DigitalOut对象控制每个GPIO。 在我也熟悉的JAL(Just Another Language)中,他们使用alias关键字。 alias x is pin_D3 — the gpio pin called x used by the library pin_D3_direction = output include foo — jal doesn’t use header files. foo_init() 如何使用Microchip xc8 c编译器实现类似function? 我使用define关键字尝试了JAL方法,但编译器不知道’x’是什么。 它说未定义的标识符’x’……? #define x PortDbits.RD0 #include “foo.h” #foo_init();

使用wiringPi2-python(非root)分段故障捕获GPIO

我正在使用wiringPi2-python将覆盆子GPIO引脚从低电平切换到高电平并返回。 一切正常,但在切换引脚值后,抛出了Segmentation fault并且程序停止。 我需要使用这种方法,因为这似乎是在没有sudo情况下访问GPIO引脚的唯一方法 在启动程序之前,我需要设置引脚输出并导出它们: $ echo 17 > /sys/class/gpio/export $ echo out > /sys/class/gpio/gpio17/direction 然后是一些python shell: $ python Python 2.7.3 (default, Jan 13 2013, 11:20:46) [GCC 4.6.3] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> import wiringpi2 as pi >>> pi.wiringPiSetupSys() 0 >>> pi.digitalWrite(17, 1) Segmentation fault $ 我试过这种方法,但它没有更好。 该程序仍然停止: […]

读取sysfs GPIO输入引脚(方向为“in”)始终打印固定值(0)

在内核设备驱动程序(内核版本3.10.92 )中启用GPIO设备支持后,我想通过GPIO sysfs读取GPIO扩展器的输入引脚的值。 导出并将方向设置为“in”后,在读取时,即使在事件发生后,该值也始终为0 ,这会将引脚值更改为1 。 虽然输出方向工作正常,但我可以通过将值更改为0或1来发光LED。 GPIO sysfs中我的GPIO扩展器的基地址是184.因此,根据GPIO sysfs读取引脚号22即引脚号206,我在内核中给出的命令是 echo 206> / sys / class / gpio / export echo“in”> / sys / class / gpio / gpio206 / direction cat / sys / class / gpio / gpio206 / value(总是将值赋值为0 ) 我正在使用PCA9505 GPIO扩展器 (40个I / O引脚),它连接到MPC8308微处理器并通过mpc I2C总线控制。

在bcm2836上使用GPIO

我正在为我的RPI2 OS编写GPIO驱动程序。 我正在冲浪很长时间,但我发现只有linux数据。 我应该怎么做这样的function void gpio_set(int pin); void gpio_clr(int pin); 在C中为司机。 或者,也许它可以通过内联汇编来完成?

如何通过微处理器/微控制器同时检测两个或多个按键(GPIO)?

正如问题所述,我想知道控制器是否可以同时检测到两个按钮按下。 我是控制器编程的新手,从基础开始 – 闪烁LED,然后移动到按钮,现在尝试按下按钮。 当两个按钮被按在一起时,我想设置一些标志 。 但据我所知,在这种情况下只会调用一个ISR,从而检测到一次按下。 我们怎样才能做到这一点…… (在某些电子设备中,当我们按下某些按钮时它具有特定的function,例如当同时按下3个适当的按钮时重置电话) 梅西