SPI (Serial Peripheral Interface) : что это такое?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
Psych
Опытный кот
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Re: SPI (Serial Peripheral Interface) : что это такое?

Сообщение Psych »

yuta_86 писал(а):чего nSCK=1; а потом через задержку nSCK=0;

Это называется дернуть ногой.
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: SPI (Serial Peripheral Interface) : что это такое?

Сообщение SubDia »

Кратко.
nSDI, очевидно, расшифровывается как "serial data in", или что-то около этого. В общем, да - это линия данных.
nSCK - линия тактового сигнала, по которому принимающее устройство будет фиксировать данные на линии данных.
Для того и производится установка nSCK в единицу, а затем, через краткую задержку, сброс nSCK в ноль.
В приведенном фрагменте кода производится вначале передача устройству адреса, а затем - передача байта данных (чипселект я не упоминаю - и так ясно).
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
yuta_86
Открыл глаза
Сообщения: 78
Зарегистрирован: Пн май 23, 2011 11:23:39

Re: SPI (Serial Peripheral Interface) : что это такое?

Сообщение yuta_86 »

каким образом идёт передача данных SPI

вот например после первого прохода цикла при 0х06 (0000 0110 )

Addr потом 1000 0110
цикл
i=0 nsdi =(1000 0110 >>7)&(0000 0001)=0000 0001 & 0000 0001 = 0000 0001
i=1 nsdi =(1000 0110 >>6)&(0000 0001)=0000 0010 & 0000 0001 = 0000 0000
i=2 nsdi =(1000 0110 >>5)&(0000 0001)=0000 0100 & 0000 0001 = 0000 0000
i=3 nsdi =(1000 0110 >>4)&(0000 0001)=0000 1000 & 0000 0001 = 0000 0000
i=4 nsdi =(1000 0110 >>3)&(0000 0001)=0001 0000 & 0000 0001 = 0000 0000
i=5 nsdi =(1000 0110 >>2)&(0000 0001)=0010 0001 & 0000 0001 = 0000 0001
i=6 nsdi =(1000 0110 >>1)&(0000 0001)=0100 0011 & 0000 0001 = 0000 0001
i=7 nsdi =(1000 0110 >>0)&(0000 0001)=1000 0110 & 0000 0001 = 0000 0000

так? и что тут получается ничего не пойму
yuta_86
Открыл глаза
Сообщения: 78
Зарегистрирован: Пн май 23, 2011 11:23:39

Re: SPI (Serial Peripheral Interface) : что это такое?

Сообщение yuta_86 »

то есть получается 1 0 0 0 0 1 1 0 =====>>> 86 так ведь?
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: SPI (Serial Peripheral Interface) : что это такое?

Сообщение SubDia »

Ну да, так и есть.
Вообще Вы можете передавать как старший бит первым, так и младший. Это нужно учитывать.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»