Парни! есть кто в "СИ" силен???

Секс-символ 111
09:53, 13.12.2017
void loop() {
delay(300); // время которое на выходе "0"
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);

delay(300); // время которое на выходе "1"
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
}

но лучше вместо delay использовать millis, если вдруг понадобится во время задержки что-то выполнять
0
Валера
10:43, 13.12.2017
От пользователя Секс-символ 111
если вдруг понадобится во время задержки что-то выполнять

Привет!!!

это моргание я написал, что бы вопрос проиллюстрировать!

У вопроса три причины:

1. строчки выполняются по очереди, значит порт из первой строчки примет на себя весь удар тока. Нагрузка реактивная!! Хотел надежность повысить одновременным включением всех портов.

2. по ходу программы надо много раз указывать это действие, просто хотел уменьшить писанину.

3. можно конечно транзистор поставить на выход, но не охото платы всякие делать, так припаяю Нану проводами к готовому устройству и готово!.

Макс! а ты в ардуинах что нибудь понимаешь??? Почему ни где не пишется, что существуют фьюзы?? есть делитель частоты, сторожевая собака.......и прочие радости.
Детям что ли не надо??? Скетч, загрузчик и все!!!! Как фьюзами управлять??
0
Секс-символ 111
12:50, 13.12.2017
фьюз-биты на стандартном загрузчике никак. детям не надо :-D вачдога тоже нет
можешь бутлоадер прошить, но тогда не будет удобной заливки скетчей

вот про фьюзы:
http://arduino.ru/forum/programmirovanie/fuse-bity...

без транзистора на выходе спалишь нафиг порты. все силовые нагрузки у ардуины только через дополнительные шильды. я робота делал, покупал себе, чтоб сервомоторы шевелить.
0
Валера
13:35, 13.12.2017
От пользователя Секс-символ 111
все силовые нагрузки у ардуины только через дополнительные шильды

Да знаю я !! попробовать хочу!! Причем тут ардуина если АВРки порт !!

В даташите ток выхода порта 30 мА. еще диоды защитные стоят. Мне где то 30 надо, думаю 4 штуки параллельно сдюжит. :ultra: :ultra: :ultra:

все мои причуды с СИ синтаксис не проходят:

типа
digitalWrite((a,b,c,d) LOW);
или
#define q a
#define q b
#define q c
#define q d
или
#define q (a,b,c,d)
или
#define q (a && b && c && d)
еще всяких конструкций насочинял :lol: :lol: :lol:
незнаю я правила игры
0
Hvost
19:38, 13.12.2017
От пользователя Валера
// назначаем ноги порта

int a =
9;
int b = 10;
int c = 11;
int d = 12;



Фотография из Фотогалереи на E1.ru

Дальше объяснять?
0
Валера
19:57, 13.12.2017
Дык у долбаных Ардуинщиков цифры это не номер ноги!! а как раз то, что рядом с буквой D стоит. все ноги из порта Б. :ultra: :ultra:

специально смотрел перед назначением!!!
0
Hvost
20:05, 13.12.2017
От пользователя Валера
Ардуинщиков цифры это не номер ноги!! а как раз то, что рядом с буквой D стоит.

У восьмибитного проца 12-ый адрес?!
Хидеры смотреть надо.
Если это и правда так, тогда PORTB |= 0x1Е - единицы, PORTB &= 0xE1 - нули.



[Сообщение изменено пользователем 13.12.2017 20:09]
0
Валера
23:33, 13.12.2017
От пользователя Hvost
У восьмибитного проца 12-ый адрес?

Это у нормально человека цифра - адрес.

Ардуинщики все порты поделили на две части аналоговый и цифровой, и все сквозной нумерацией пронумеровали, отсюда такие цифры. порт 19 есть!



сейчас мысль пришла! остальные сигналы унесу на порт PC и
как раз сразу весь порт PD и PB буду в паралель использовать. ног хватает

в СИ поставить на всем порту D:

1 будет так PORTD = 0xff;
0 - PORTD = 0x00;

А как это Ардуиновскому компилятору скормить????

назначить весь порт на выход в СИ DDRD = 0xff; а в ардуине pinMode(8, OUTPUT);

причем 8 это не порт, и не нога - условная цифра, обозначающая -PB0

не чего не пойму.
0
KACTA ™
01:21, 14.12.2017
На каком языке эти трое тут разговаривают?! 8(
0
Валера
00:09, 15.12.2017
Все разобрался!!!

PORTD = 0xff;
PORTD = 0x00;

DDRD = 0xff;

компилятор кушает язык СИ
все заработало
0
Hvost
00:50, 15.12.2017
От пользователя Валера
DDRD = 0xff;

USART не нужен?
0
Валера
09:28, 15.12.2017
Им прямо встроенным и прошилось, через штатный загрузчик :super: :super:
0
Валера
09:30, 15.12.2017
Спасибо!! кто протянул руку помощи!!!!!
0
aka rus
16:07, 15.12.2017
Эх, вес срач пропустил :-D
От пользователя Валера
через штатный загрузчик

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

DDRD = DDRD | B11111100; // задаем направляющие биты для контактов 2-7; 0 и 1 не трогаем (xx | 00 == xx)

и я бы не стал весь порт разом дергать, лишние такты.

[Сообщение изменено пользователем 15.12.2017 16:08]
0
Мoзгoпрaв и мoзгoвeд©
21:08, 15.12.2017
От пользователя aka rus
(в лс не писать. делать никому не буду)

мне пишите :-D

От пользователя aka rus
и я бы не стал весь порт разом дергать, лишние такты.

поясни мысль :-)
0 / 1
Валера
18:10, 16.12.2017
От пользователя aka rus
ардуину можно шить через ISP там на плате есть выводы, шьется она как обычная мега,

Дак это понятно!! А вот пробовал кто нибудь библиотеку ардуиновскую в Кодевижен например скопировать и использовать???

И из ардуиновского компилятора как HEX получить??
0
Авторизуйтесь, чтобы принять участие в дискуссии.