linux停的io口访问是用驱动还是用内存直接访问
linux下的io口访问是用驱动还是用内存直接访问?
如题,想控制一个led或者蜂鸣器什么的,需要配置io输出,如何访问?如果配置成输入呢?那么多io做成通用驱动还是用内存直接访问方便?
------解决方案--------------------
得看LED或者蜂鸣器的物理连接情况。接在什么总线或者端口上?
------解决方案--------------------
个人觉得做成驱动访问比较好。
------解决方案--------------------
http://www.jsembed.com/?About/biji/82.html
------解决方案--------------------
如题,想控制一个led或者蜂鸣器什么的,需要配置io输出,如何访问?如果配置成输入呢?那么多io做成通用驱动还是用内存直接访问方便?
=》
1)先根据原理图确定所需控制的LED和蜂鸣器等对应的IO是什么(例如为GPIOA 1,GPIOB 3),
2)将LED,蜂鸣器的配置在.h文件中用宏封装起来
例如:#define LED_GPIO_PORT GPIOA
#define LED_GPIO_PIN PIN1
3)封装几个驱动调用函数
void GPIO_init(void)
void Set_GPIO(u16 IO_PROT, u16 IO_PIN)
u16 Get_GPIO(u16 IO_PROT, u16 IO_PIN)
4)在程序中调用以上封装函数即可。
------解决方案--------------------
做成驱动,然后上层调用ioctl访问驱动。
------解决方案--------------------
GPIO输出,做个驱动就可以了,去driver目录leds里找个驱动套用下就可以了。
文件接口在/sys/CLASS/LEDS下
------解决方案--------------------
通常linux都把内存管起来了,不会让你直接访问物理内存的,写驱动吧.
------解决方案--------------------
看行业 如果允许用户运行他自己下载的API,建议做成驱动比较好,如果只是用于工业控制领域 运行本公司的一些应用 做成直接IO口也可以
如题,想控制一个led或者蜂鸣器什么的,需要配置io输出,如何访问?如果配置成输入呢?那么多io做成通用驱动还是用内存直接访问方便?
------解决方案--------------------
得看LED或者蜂鸣器的物理连接情况。接在什么总线或者端口上?
------解决方案--------------------
个人觉得做成驱动访问比较好。
------解决方案--------------------
http://www.jsembed.com/?About/biji/82.html
------解决方案--------------------
如题,想控制一个led或者蜂鸣器什么的,需要配置io输出,如何访问?如果配置成输入呢?那么多io做成通用驱动还是用内存直接访问方便?
=》
1)先根据原理图确定所需控制的LED和蜂鸣器等对应的IO是什么(例如为GPIOA 1,GPIOB 3),
2)将LED,蜂鸣器的配置在.h文件中用宏封装起来
例如:#define LED_GPIO_PORT GPIOA
#define LED_GPIO_PIN PIN1
3)封装几个驱动调用函数
void GPIO_init(void)
void Set_GPIO(u16 IO_PROT, u16 IO_PIN)
u16 Get_GPIO(u16 IO_PROT, u16 IO_PIN)
4)在程序中调用以上封装函数即可。
------解决方案--------------------
做成驱动,然后上层调用ioctl访问驱动。
------解决方案--------------------
GPIO输出,做个驱动就可以了,去driver目录leds里找个驱动套用下就可以了。
文件接口在/sys/CLASS/LEDS下
------解决方案--------------------
通常linux都把内存管起来了,不会让你直接访问物理内存的,写驱动吧.
------解决方案--------------------
看行业 如果允许用户运行他自己下载的API,建议做成驱动比较好,如果只是用于工业控制领域 运行本公司的一些应用 做成直接IO口也可以