Параллельный порт /прошу поддержки/
- Войдите на сайт для отправки комментариев
Пт, 29/05/2015 - 10:13
Доброго для , господа!
Появилась у меня задача реализовать праллельный порт на выходах Ардуино УНО, и по скольку занимаюсь С++ ровно как месяц в своей жизни , не ложиться в голове как это сделать.
Задача такая - на выходах от3 до 8 соадать 6-ти разрядный счетчик 1-64
000001
000010
000011
000100
и т.д.
понимаю что выходы необходимо задавать массивом
int out1[6] = {3,4,5,6,7,8}
а вот как теперь чтобы приращение записывать в порты , ума не приложу
3,4,5,6,7,8
0,0,0,0,0,1
далее
3,4,5,6,7,8
0,0,0,0,1,0
Подскажите как такое реализовать
Может начать с ЗАЧЕМ?
Да, конечно - на каждый адерес подается сигнал и читается ответ. Адреса все аппаратные
то есть существует матрица 8х8.
Почему нельзя сделать последовательную шину - вопрос другой и его решение сейчас не стоит.
Наверное вам нужно почитать про сам мк и его порты... не про пины. А про порты которые эти пины обьединяют.
Либо городить огород типа рукотворный 6 битный счетчик
почитал,
а как все же реализовать такой счетчик
Извращаться можно по разному, например вот так:
соответственно пишем в x то что надо и потом циклом выводим на нужные пины
понимаю что выходы необходимо задавать массивом
int out1[6] = {3,4,5,6,7,8}
а вот как теперь чтобы приращение записывать в порты , ума не приложу
Вообще, не обязательно именно массивом. Но если писать в ардуиновском стиле - да, пусть будет так. :)
Счётчик и его приращение пишутся просто:
Ну а в порт выводить как-то так:
-----
Upd: Penni опередил :)
Но счётчик в цикле должен быть всё-таки меньше шести.
Datak, спасибо за замечание, невнимательность она такая.
От спасибо ! Благодарю!
ввиду незнания и нехватки времени пришлось набить 400 строчек кода )))
Strannik-s, если бы вы взяли более удобные порты, например A0..A5 вам бы не понадобился вообще никакой код. Сразу бы записывали свои данные в порт: PORTС |= (data & B00111111); Только это можно считать паралельным выводом. То, что вам предложили -хорошо, но это не есть паралельный вывод. Фактически в промежутке от записи первого до записи последнего бита у вас на выходе будет творится чёрти что.