Ви не увійшли.
Сторінки 1
Доброго времени суток, любителям и Гуру! ПереГуглил уже не мало, везде говорится что выдать переменную типа byte, в среде Arduino нельзя. Вопрос - или плохо искал, или всё таки нет возможности такой. Пытался решить этот вопрос программно - неполучается . Кто - нибудь сталкивался с этим???
Буду благодарен за любой ответ.
Неактивний
vvr, он имеет в виду что на флешку записал данные некоего скипта, что выставляет 0/1 на неких ногах
и почему то ему нужно это сделать очень быстро и параллельно,
и пишет он почему то в порт D,
IgorT12, я думаю что у вас ТЗ некоректное,
и вам и мне однозначно сюда - http://easyelectronics.ru/author/di-halt
Неактивний
"... думаю что у вас ТЗ некорректное..." В чём не корректность вопроса ???
"...пишет он почему то в порт D..." - это строка из примера ( Ctrl-C, Ctrl-V быстрее чем тыкать в кнопки).
Если не понятен вопрос, поясняю: вместо "DDRx = B11111110", "DDRx = (Value)?, где Value имя переменной. Примерно вот так мне и хотелось бы увидеть. По моему вопрос не сложный, всего навсего синтаксис языка.
Неактивний
Для Ардуино неправильно. Ибо нет там портов. Только отдельные пины, с номерами.
К примеру, у меня Ардуино от Интел и чо, в какой порт будем выводить? Или chipKit от PIC...
Та даже у Ардуино Микро порты совсем не те что у Нано, не говоря уже о всяких Тини и пр.)).
По красивому, у AVR нужно читать сигнатуру сначала, с тем что бы определить тип МК, а затем же играться с портами. Только кому оно надо.))
Неактивний
В порт отправить можно, но нужно убедиться, что он полный (по тому как бывает что не полные порты, не хватает ног на корпусе), и на нем ничего не сидело.
По регистрам
DDRx - регистр направления порта, в вашем случае все пины на выход (8-мь единиц в двоичной системе исчисления), следовательно
DDRx = 0xFF;
Для порта D будет так:
DDRD = 0xFF;
а чтобы выводить в порт нужно использовать PORTx = значение;
для порта D будет так:
PORTD = значение;
пример:
uint8_t value = 0; // Переменная типа Byte
void setup()
{
DDRD = 0xFF; // все 8 пинов порта D на выход
}
void loop()
{
PORTD = value++; // Вывод значения value в порт D
}
Сторінки 1