- Vote on answer
- posted
17 years ago
To Dmitry Orlov.
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
Ну, у меня все ноги задефайнены. Можно просто 5 констант поменять, и всё :)
Гм... Наверное надо сказать о том, какие у меня ограничения:
- Не проверяется корректность стопового бита. Если уже приём пошел, то я считаю, что всё хорошо.
- Уарт полудуплексный. Я так и не смог придумать, куда впихнуть второй буфер, чтобы из одного передавать, в другой принимать. Возможно, можно будет сделать отправку из одного регистра, по мере необходимости наполняя его информацией (из флеша, из алгоритма перевода 10 -> 2).
- Эха нет. Чтобы получилось то, что видно на снимке терминалки, надо поставить галку в гипертерминале. В принципе, можно попробовать организовать параллельно с приёмом и отправку обратно. Всё равно принятая строка есть в буфере и её же надо вернуть.
- Реакцию на клавишу "забой" я не делал. В принципе, думаю что это лишних 10 байт.
- Я так понял, что у Дмитрия для управления тиристором используется ШИМ. Я же просто использую реле. Честно говоря, я не в курсе, сколько надо ресурсов на реализацию ШИМа. Для реле надо ровно 2 команды: включить/выключить :)
Ок. Посмотрю.
"Тем же концом по тому же месту" (с) :)))
С уважением, Владимир Рыбаков.
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
Здравствуйте, Nicolas.
(Примечание: константа adc_pin в конченом итоге оказалась только для красоты.) Думаю, достаточно будет изменить константы uart_tx_pin и relay_pin. Но на всякий случай это стоит перепроверить.
Честно говоря, в сорец Дмитрия я не заглядывал (пока). Просто потому, что это чревато тем, что начнешь на асме писать то же самое. Правда, теперь можно и посмотреть уже.
Сугубо теоретический вопрос: а зачем вообще нужен ШИМ при управлении тиристором? Вроде бы ШИМ, она на то и ШИРОТНО-ИМ, чтобы менять ширину импульса -> время открытия -> мощность на нагрузке. А для термостата мощностью рулить не надо, а надо либо включить либо выключить нагреватель. Короче, я сам себя запутал :) Надо бы написать вторую версию термостата... Жаль только отпуск закончился.
С уважением, Владимир Рыбаков.
ЗЫ: Мне кажется, что если перенести мой исходник на Tiny25, то его можно слегка уменьшить в размере, путём более оптимального деления на функции. (А если учесть что в Tiny25 есть ещё и RAM...) К сожалению, в Tiny15L только трёх уровневый стек. И чем атмеловцы думали? Пожалели десяток триггеров... У ПИКа хоть 8 уровней!!!
Кхе-кхе... ЛЮДИ!!! ГДЕ КУПИТЬ 25-Ю ТИНЬКУ?!!!
ЗЗЫ: В процессе написания у меня накопилась куча вопросов... Если их сразу все задать, меня от эхи пожизненно отключат? ;)))
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
- Vote on answer
- posted
17 years ago
Ку-у-у-у-ул! Я так понимаю, под Tiny45 работает?
Ну, у меня стоит галка "Дополнять символы CR символами LF", это в части настроек приёма. Наверное это и есть "local echo CR+LF на receive".
Сделал снепшотов пачку. Положил на сайт:
Да. Это я действительно накосячил. Главное, сам один раз загнал термостат в позу... Хотел поправить, но - склероз. Поправлю... Со временем...
Я тоже не знаю. Но на всякий случай предусмотрел 2 команды: "state?" и "?". Последюю планировал использовать при написании собственной программы "мониторинга" температуры.
А я наконец фоторезист освоил. Чрезвычайно горд собой. ByteBlaster делал именно так.
С уважением, Владимир Рыбаков.