Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 91sam9260 управление leds через драйвер?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
hlebn
Управлять напрямую портами ввода вывода вопросов нет. хочется по управлять через драйвер так как в драйвере не только включен выключен светодиод но и мигание есть.
Вопрос что нужно сделать чтобы в /dev появились leds
в /sys информация по доступным светодиодам есть и udevinfo выводит по ним информацию
какие правила надо прописать для udev чтобы они прописывались в /dev

кто нибудь управлял светодиодами через драйвер и если да то что надо посылать.
ecos-rtos_in_ua
hxxx://starterkit.ru/html/index.php?name=forum&op=view&id=6242 для ядра 2.6.33. LED подключены через PCF8574.
hlebn
Цитата(ecos-rtos_in_ua @ Mar 15 2010, 07:44) *
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. оказалось очень удобно.
Можно не только включать и выключать но мигать с выбранной частотой и скважностью. Что и требовалось.
no_d@t@
Цитата(hlebn @ Mar 15 2010, 00:44) *
Управлять напрямую портами ввода вывода вопросов нет


Вот у меня как раз нет вопросов по управлению через драйвер smile.gif
А с управлением напрямую - не понятно.
Может кто укажет на доку какую-нить или примеры?
dch
Цитата(no_d@t@ @ May 14 2010, 15:57) *
А с управлением напрямую - не понятно.

там есть mmap функция это как получить доступ из пользовательской програмки линукса к регисрам по абсолютным адресам.
etoja
Цитата(no_d@t@ @ May 14 2010, 15:57) *
Вот у меня как раз нет вопросов по управлению через драйвер smile.gif
А с управлением напрямую - не понятно.
Может кто укажет на доку какую-нить или примеры?



#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;
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.