2016-03-25 8 views
0

Я действительно хочу использовать модуль SPI на моем NodeMCU. SPI сохраняет мой код чистым и освобождает некоторые из моих контактов GPIO. Я чувствую, что он слишком быстро отправляет данные для моего 74HC595, чтобы не отставать. Он работал немного, а затем остановился.NodeMCU SPI Module слишком быстро

Похоже, на линии было много шума, поэтому я подключил логический анализатор и увидел, что, когда я отправлял данные, бит пролетал через линию почти через 6 нс (что является удивительным). Я управляю 595 и, в конечном счете, шагающим, которые нуждаются в данных медленнее. Я попытался использовать параметр clock в установочном вызове, я чувствую, что он никогда не замедляет часы SPI.

Есть ли способ установить тактовую частоту для чего-то более 595 + шаговый?

+0

Какую версию NodeMcu вы используете? Если вы не пробовали построить ветвь dev, вы можете сделать это. http://nodemcu-build.com –

+0

Я использую ветви dev и создаю прошивку от: http://nodemcu-build.com –

+0

Просто подумал, что я проверю, так как я не видел, чтобы где-нибудь в вопрос. –

ответ

0

Просто глядя на the docs в последнем Dev филиала NodeMCU (получить его от NodeMCU Build website) вы можете настроить SPI с делителем, чтобы снизить скорость передачи данных передач SPI (более высокая DIV, ниже скорость передачи данных):

spi.setup(id, mode, cpol, cpha, databits, clock_div[, duplex_mode])

Параметры включают в себя:

clock_div - SPI, делитель тактовой частоты, F (SPI) = F (ЦП)/clock_div

+0

Благодарим за информацию. Попытайтесь, как я мог, независимо от того, что я положил в clock_div, вещь все равно будет безумно быстрой. –