Jump to content

    

91sam9260 управление leds через драйвер?

Управлять напрямую портами ввода вывода вопросов нет. хочется по управлять через драйвер так как в драйвере не только включен выключен светодиод но и мигание есть.

Вопрос что нужно сделать чтобы в /dev появились leds

в /sys информация по доступным светодиодам есть и udevinfo выводит по ним информацию

какие правила надо прописать для udev чтобы они прописывались в /dev

 

кто нибудь управлял светодиодами через драйвер и если да то что надо посылать.

Share this post


Link to post
Share on other sites

hxxx://starterkit.ru/html/index.php?name=forum&op=view&id=6242 для ядра 2.6.33. LED подключены через PCF8574.

Share this post


Link to post
Share on other sites
hxxx://starterkit.ru/html/index.php?name=forum&op=view&id=6242 для ядра 2.6.33. LED подключены через PCF8574.

Спасибо за ответ. Но вопрос был по LEDы подключенным к GPIO и почему они не отображаются в /dev.

Привык что все устройства отображаются в dev и работать через них вот там и искал.

 

Нашел ответ от Atmel для AVR32

4. GPIO /dev interface

The GPIO dev interface is not in the mainline kernel and will never be there either. This interface is AVR32 specific and it is not available on other platforms. This chapter is here because many use this interface already and maybe do not want to switch to another solution.

 

По образу и подобию это скорее всего касается и AT91SAM.

 

Сегодня по управлял как рекомендует Atmel через /sys/class/leds. оказалось очень удобно.

Можно не только включать и выключать но мигать с выбранной частотой и скважностью. Что и требовалось.

Share this post


Link to post
Share on other sites
Управлять напрямую портами ввода вывода вопросов нет

 

Вот у меня как раз нет вопросов по управлению через драйвер :)

А с управлением напрямую - не понятно.

Может кто укажет на доку какую-нить или примеры?

Share this post


Link to post
Share on other sites
А с управлением напрямую - не понятно.

там есть mmap функция это как получить доступ из пользовательской програмки линукса к регисрам по абсолютным адресам.

Share this post


Link to post
Share on other sites
Вот у меня как раз нет вопросов по управлению через драйвер :)

А с управлением напрямую - не понятно.

Может кто укажет на доку какую-нить или примеры?

 

 

#include <stdio.h>

#include <unistd.h>

#include <fcntl.h>

#include <sys/mman.h>

#define GPIO_BASE 0x80840000

/* GPIO memory mapped registers */

volatile unsigned int *PEDR;

volatile unsigned int *PEDDR;

 

int main (void)

{

//long delay=128000, delay2=100;

unsigned char *gpio;

int fd;

fd = open("/dev/mem", O_RDWR);

if (fd < 0)

{

perror("Failed to open /dev/mem");

return fd;

}

gpio = mmap(0, getpagesize(), PROT_READ|PROT_WRITE, MAP_SHARED, fd, GPIO_BASE);

 

PEDR = (unsigned int *)(gpio + 0x20);

PEDDR = (unsigned int *)(gpio + 0x24);

 

*PEDDR = 0xff;//set output

*PEDR = 0x02;// turn ON Red LED (port E1)

 

return 0;

}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this