Более интересна разводка платы, либо порядок соединения питающих проводов (общие, плюс контроллера, плюс двигателей), если собрано на макетке. Схема впрочем тоже сойдет, на ней можно показать, как должны идти шины питания.
1. Нет обязательных блокировочных конденсаторов ни у микросхемы стабилизатора (на входе и на выходе), ни у микроконтроллера
7805.gif (3.07 КиБ) Просмотров: 2525
C1 и С2 могут понадобиться бОльшей емкости (до 10мкФ, например), в зависимости от требований производителя микросхемы. 2. Не вижу, как подключен вывод Reset у Атмеги
Reset.gif (2.15 КиБ) Просмотров: 2530
3. + и - 12 вольт на L293 и на 7805 как подводятся?
Power_connect.gif (9.24 КиБ) Просмотров: 2529
4. На каждый из трех светодиодов нужен свой токоограничительный резистор
HL1-3.gif (5.14 КиБ) Просмотров: 2526
5. Странные какие-то фотодатчики. Почему бы не сделать их по общепринятой схеме?
Спасибо что ткнули носом Что не правильно - сиправлю и в путь! Снова к испытаниям. Фотодатчики и правда странные - это оптика из мыши, обвязку делал сам - вот так и получилось.
regenerator писал(а):Подскажите, пожалуйста. В CVAVR как сделать, чтоб вместо звёздочки могла бы быть любая цифра: if (a==***8) {...} или if (a==*6**) {...}
Потребуются операции целочисленного деления, возвращающие частное (пусть это "/") и остаток (это всегда %), посмотри в справочнике как правильно вызвать целочисленное деление без округление, чтобы от деления было только частное в классическом понимании.
А при наличии этих операций: (a==***8) расписывается как (a%10==8) (a==*6**) расписывается как ((a%1000)/100==6)
Ой как всё не просто. Если правильно понял, то можно по аналогии, да? Например: (a==***********2) расписывается как (a%10==2) (a==****5********) расписывается как ((a%10000000000000)/100000000==5)
Последний раз редактировалось regenerator 23 авг 2008, 22:56, всего редактировалось 1 раз.
regenerator писал(а):(a==***********2) расписывается как (a%10==2)
- да
regenerator писал(а):(a==****5********) расписывается как ((a%10000000000000)/100000000==5)
- нет, правильно: (a==****5********) расписывается как ((a%1000000000)/100000000==5), т.е. после "%" - 1 с K+1 нулями, а после "/" - 1 с K нулями, если после цифры стоит K звёздочек.
PS: Всё это время я считал, что * может быть пустым символом и не отсекал, что под шаблон попадут числа большие или меньшие чем вам нужно по длине, но с нужной вам цифрой в нужной позиции. Если нужно проверять длину, то добавьте условия на значение числа, чтобы его длина тоже учитывалась.