адаптер 1-wire на max232
-
student2012
- Родился
- Сообщения: 1
- Зарегистрирован: Ср фев 12, 2014 17:06:51
Re: адаптер 1-wire на max232
Господа коты прошу сильно не пинать по поводу выбора темы но уже голова кипит не могу найти инфы подскажите есть программатор AVR STK500 там стоит макс232 скажите если к ней подключить выходы от PL2003 будет работать или от пл маленькие выходные напряжения(почему спрашиваю при сборке программатора заклеил корпус наглухо ломать неохота) а с компортом беда надо перейти на юсб
- Реклама
Re: адаптер 1-wire на max232
В USB-COM программаторах проблема не в напряжениях, а в разном физическом принципе реализации.
Если надо USB-программатор для AVR, сделайте такой программатор, например.
Если надо USB-программатор для AVR, сделайте такой программатор, например.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Re: адаптер 1-wire на max232
Всем добрый день!
С недавнего времени до ужасу как приспичило)) короче учусь работать с устройствами 1wire, специально ради этого в С полез, безумно интересно, планов громадье, но дело не в этом)).
Разбираюсь вот с чтением серийного номера, и решил использовать наиболее простую в электрическом смысле схему -
http://we.easyelectronics.ru/electro-an ... ompom.html
Ранее о ней упоминали, дело там завязано на переключение скорости UART.
Писать я пытаюсь на С, в Линуксе, под VMWARE, UART у меня на FT232, проброшен туннелем до Линукс, и там он живет как
/dev/ttyUSB0.
Пока я как новичек, надежно добился 2-х результатов - уверенно получаю ответ на RESET, и путем нескольких вложенных циклов произвожу резкое переключение скоростей порта просто чтобы удостоверится что он переключается, и данные не искажаются, микруха не "захлебывается". Это последнее - просто для себя, к серийному номеру отношение не имеет.))
Подскажите пожалуйста правильные дальнейшие действия! Впервые влез в это, помогите разобраться!
Исходя из статьи, основное общение с таблеткой надо производить на скорости 115200, при этом я так понял, байт-команда передается целым блоком, а ответ - требует побитовое подтверждение получения? Или как?
В статье читаем - "1" - это 0хFF, "0" - 0x00. Значит, если я хочу передать допустим, 0х33 (110011) - это как правильно сделать?
Наверное, дополнить до 00110011, и передать справа налево так:
0хFF
0хFF
0x00
0x00
0хFF
0хFF
0x00
0x00
Могу я отправить этот байт блоком, не будет ли таблетка присылать подтверждение доставки?
Если я правильно понял, буду делать.)
Вслед, должен последовать ответ, который обнаруживается как искажение передаваемых данных, я так понимаю? Т.е если я передаю FF, а эхом приходит FE(rx и tx ведь соединены), значит таблетка передала "1", если FF - значит "0". Т.е я должен последовательно 64 раза послать FF, и смотреть что получится? Если так, один только вопрос - какую дать временную зедержку между отправкой 0х33 и попыткой чтения номера?
Заранее благодарю за ответ!
С недавнего времени до ужасу как приспичило)) короче учусь работать с устройствами 1wire, специально ради этого в С полез, безумно интересно, планов громадье, но дело не в этом)).
Разбираюсь вот с чтением серийного номера, и решил использовать наиболее простую в электрическом смысле схему -
http://we.easyelectronics.ru/electro-an ... ompom.html
Ранее о ней упоминали, дело там завязано на переключение скорости UART.
Писать я пытаюсь на С, в Линуксе, под VMWARE, UART у меня на FT232, проброшен туннелем до Линукс, и там он живет как
/dev/ttyUSB0.
Пока я как новичек, надежно добился 2-х результатов - уверенно получаю ответ на RESET, и путем нескольких вложенных циклов произвожу резкое переключение скоростей порта просто чтобы удостоверится что он переключается, и данные не искажаются, микруха не "захлебывается". Это последнее - просто для себя, к серийному номеру отношение не имеет.))
Подскажите пожалуйста правильные дальнейшие действия! Впервые влез в это, помогите разобраться!
Исходя из статьи, основное общение с таблеткой надо производить на скорости 115200, при этом я так понял, байт-команда передается целым блоком, а ответ - требует побитовое подтверждение получения? Или как?
В статье читаем - "1" - это 0хFF, "0" - 0x00. Значит, если я хочу передать допустим, 0х33 (110011) - это как правильно сделать?
Наверное, дополнить до 00110011, и передать справа налево так:
0хFF
0хFF
0x00
0x00
0хFF
0хFF
0x00
0x00
Могу я отправить этот байт блоком, не будет ли таблетка присылать подтверждение доставки?
Если я правильно понял, буду делать.)
Вслед, должен последовать ответ, который обнаруживается как искажение передаваемых данных, я так понимаю? Т.е если я передаю FF, а эхом приходит FE(rx и tx ведь соединены), значит таблетка передала "1", если FF - значит "0". Т.е я должен последовательно 64 раза послать FF, и смотреть что получится? Если так, один только вопрос - какую дать временную зедержку между отправкой 0х33 и попыткой чтения номера?
Заранее благодарю за ответ!
Re: адаптер 1-wire на max232
Для компа давно есть готовые компоненты для работы с 1-Wire, в т. ч. и для Linux.
Посмотрите статью в журнале Радио №1 2015.
Компонент приложения с исходниками. ftp://ftp.radio.ru/pub/2015/01/OWire.zip
Посмотрите статью в журнале Радио №1 2015.
Компонент приложения с исходниками. ftp://ftp.radio.ru/pub/2015/01/OWire.zip
Re: адаптер 1-wire на max232
Респект!!!
Вот это - вещь! Впервые вообще, из всего, что качал и пробовал - заработало с той схемой подключения, как в вышеупомянутой статье, серийник считал. ОК, спасибо, будем дальше осваивать. Вышеупомянутую т.н "говноляпскую") схему с этого момента считаю надежно работающей...
Вот это - вещь! Впервые вообще, из всего, что качал и пробовал - заработало с той схемой подключения, как в вышеупомянутой статье, серийник считал. ОК, спасибо, будем дальше осваивать. Вышеупомянутую т.н "говноляпскую") схему с этого момента считаю надежно работающей...
- Реклама
Re: адаптер 1-wire на max232
Господа котейники!
Короче - то, о чем я спрашивал вначале, оказалось верно на 100%, и заработало. Таким образом, мой "адаптор" COM-1wire состоит всего лишь из 1 диода и 1 резистора.
Отрыл в инете готовый кусок кода для подсчета СРС8, он в итоге пригодился, тоже на 100% работоспособен, может кому пригодится.
-------------------------------------------------------------------
unsigned char crc8(unsigned char *kod)
{
unsigned char n,crc,temp,bayt;
crc=0;
for(n=0;n<7;n++)
{
bayt=kod[n];
for(temp=8;temp--;)
{
if((crc^bayt)&0x01)
crc = (crc>>1)^0x8c;
else crc>>=1;
bayt>>=1;
}
}
return crc;
}
-------------------------------------------------------------------
Короче - то, о чем я спрашивал вначале, оказалось верно на 100%, и заработало. Таким образом, мой "адаптор" COM-1wire состоит всего лишь из 1 диода и 1 резистора.
Отрыл в инете готовый кусок кода для подсчета СРС8, он в итоге пригодился, тоже на 100% работоспособен, может кому пригодится.
-------------------------------------------------------------------
unsigned char crc8(unsigned char *kod)
{
unsigned char n,crc,temp,bayt;
crc=0;
for(n=0;n<7;n++)
{
bayt=kod[n];
for(temp=8;temp--;)
{
if((crc^bayt)&0x01)
crc = (crc>>1)^0x8c;
else crc>>=1;
bayt>>=1;
}
}
return crc;
}
-------------------------------------------------------------------


