Novichok |
|
|
|
|
|
|
|
Пункты: 36 |
Регистрация: 08.07.2010 |
|
|
|
Кто-нибудь пробовал запускать эту прогу на плате?
У меня почему то не работает. Есть устройство /dev/spidev1.0 с которым я хочу работать. К SPI подключено тестовое устройство, на которое передавая одно число, в ответ получаем тоже одно число.
поправил у себя uint8_t tx[] = {123};
и еще поправил
ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);
if (ret < 1)
pabort("can't send spi message");
ну и выставил частоту 1000000 и название устройства spidev1.0
все, остальное не трогал.
при запуске на плате получил
spi mode: 0
bits per word: 8
max speed: 1000000 Hz (1000 KHz)
can't send spi message: Protocol not available
Aborted
в чем может быть причина? |
|
|
|
|
|
KakTyzzz |
|
|
|
|
|
|
|
Пункты: 86 |
Регистрация: 28.01.2010 |
Пол: Мужчина |
Из: Орёл |
|
SPI это протокол последовательной передачи с синхронизацией.
Ты уверен что твоё тестовое устройство зацепилось за синхронизацию? Или ты сделал что-то вроде заглушки? |
Учение - свет, а неучение - чуть свет и на работу |
|
|
|
|
Strijar |
|
|
|
|
|
|
Группа: Клиенты |
Пункты: 1618 |
Регистрация: 21.04.2009 |
Пол: Мужчина |
|
|
Да бросьте вы. Какая там синхронизация? По "клоку" данные побитово сдвигаются. Можно замкнуть MISO на MOSI вот и вся заглушка.
А при загрузке ядро что говорит про SPI? Все на месте? |
|
|
|
|
|
Novichok |
|
|
|
|
|
|
|
Пункты: 36 |
Регистрация: 08.07.2010 |
|
|
|
|
|
|
|
Strijar |
|
|
|
|
|
|
Группа: Клиенты |
Пункты: 1618 |
Регистрация: 21.04.2009 |
Пол: Мужчина |
|
|
|
|
|
|
Novichok |
|
|
|
|
|
|
|
Пункты: 36 |
Регистрация: 08.07.2010 |
|
|
|
в ссылке указанной вами в логе тоже нет spidev и все что есть там, есть и у нас (atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13))
и настройки с этой ссылки мы уже делали, так что же вы имеете ввиду под spidev ? что там должно быть?
и как вы наверно заметили из лога, у нас при загрузке папка /sys пуста и нам приходится вручную ее монтировать, может в этом еще причина? |
|
|
|
|
|
Strijar |
|
|
|
|
|
|
Группа: Клиенты |
Пункты: 1618 |
Регистрация: 21.04.2009 |
Пол: Мужчина |
|
|
|
|
|
|
Novichok |
|
|
|
|
|
|
|
Пункты: 36 |
Регистрация: 08.07.2010 |
|
|
|
итак при загрузке системы папка /sys пуста, после выполнения команды mount -t sysfs sysfs /sys она заполняется.
ls /sys/bus/spi/drivers выводит следующее: mtd_dataflash, spidev
ls /sys/bus/spi/devices/ следующее: spi0.0, spi0.1, spi1.0 |
|
|
|
|
|
Strijar |
|
|
|
|
|
|
Группа: Клиенты |
Пункты: 1618 |
Регистрация: 21.04.2009 |
Пол: Мужчина |
|
|
на первый взгляд все нормально... Что-то вы проглядели, какую то мелочь ;) |
|
|
|
|
|
Didro |
|
|
|
|
|
|
|
Пункты: 21 |
Регистрация: 05.12.2009 |
Пол: Мужчина |
Из: Рыбинск |
|
А правильно ли я понимаю, что если мы все правильно настроили (и в /sys, /dev мы видим наш spidev1.0), то команда # echo 1 > /dev/spidev1.0 должна приводить к выводу на соотв. пины SPI сигналов?
Контролируем линии осциллографом - сигналов нет, ошибки при выполнении echo нет. В /sys, /dev как уже писали spidev виден. |
|
|
|
|
|
|