2013-10-24 7 views
0

Я хочу выполнить операцию протокола SPI с помощью контактов GPIO, хочу настроить однопользовательскую операцию, и в этом случае мне нужно ее настроить, я использую микроконтроллер STM32F100RB и IDE Coocox для этого выполнения в windowsxp.Возможно ли выполнить операцию SPI с помощью контактов GPIO?

Если какой-либо орган имеет пример исходного кода, касающийся конфигурации операции протокола SPI с использованием контактов GPIO, тогда пришлите мне это. Это очень полезно для моего проекта, спасибо заранее.

С уважением, Pavan Neo.

+0

Это не так, как работает этот сайт. Мы поможем вам с конкретными проблемами, которые у вас есть в коде, который вы написали. Но никто не даст вам рабочего решения, основанного на неопределенных требованиях. Осмотрите [FAQ] (http://stackoverflow.com/help). –

+0

Да, очень часто я делаю spi таким образом, я бы предпочел больше, чем использовать специфическую логику spi ... –

+1

Да, возможно, однако у вас есть несколько аппаратных SPI-периферийных устройств на этом чипе, для которых должны быть примеры в ST. –

ответ

3

Вы спрашиваете о Bit banging. Это процесс использования IO (или нескольких) для кодирования или декодирования последовательного сигнала. В Википедии есть хорошее описание этого процесса.

Для SPI в частности вам понадобятся два или три выхода (в зависимости от того, нужен ли выбор микросхемы) и один вход. Вы должны убедиться, что ваши биты установлены или прочитаны в правильном порядке, чтобы не нарушать какие-либо требования к настройке/удержанию вашего периферийного устройства, и вам нужно обратить внимание на полярность, необходимую для сигнала синхронизации (чтобы убедиться, что вы 'чтение/запись данных на правильный край).

Ссылка на Википедию содержит пример кода для бита, который может оказаться полезным в качестве отправной точки.