Электронная отмычка
- dx40
- Нашел транзистор. Понюхал.
- Сообщения: 182
- Зарегистрирован: Вт июл 11, 2006 12:39:16
- Откуда: Москва
- Контактная информация:
Алексей П писал(а):А считываение ключа будет происходить если устройство подключить паралельно с домофоном?
Сомневаюсь
Алексей П писал(а):И еще неплохобы исходник посмотреть.
Вот основной кусок. Только не думаю что он чем-то кому-то поможет.
Код: Выделить всё
if (a2==16) {
// читаем
PORTD.1=1;
DDRD.1=1;
if ( w1_init()==1 ) {
#asm("cli");
w1_write(51);
for (x=0;x<8;x++) { code[x]=w1_read(); };
crc=crc8(code,7);
#asm("sei");
if (crc==code[7]){
a2=18;
for (x=0;x<8;x++) {
storage[x+a1*8]=code[x]; };
};
}
}
if (a2==18) {
//емулируем
PORTD.1=0;
DDRD.1=0;
PORTD.0=0;
DDRD.0=0;
if (PIND.0==1){
while(a==0) #asm("nop");
#asm("cli");
PORTB=chargen[10];
y=0;
//ждем сброса
do { y++; delay_us(100); } while ((y<100)&&(PIND.0==1));
if (y<100){
//пережидаем сброс
PORTB=chargen[11];
do { y++; delay_us(1); } while ((y<1000)&&(PIND.0==0));
if (y<1000){
delay_us(15);
DDRD.0=1;
delay_us(200);
DDRD.0=0;
PORTB=chargen[12];
for (x=1;x<9;x++) {
//типа читаем
y=0;
do { y++; delay_us(1); } while ((y<60000)&&(PIND.0==1));
y=0;
do { y++; delay_us(1); } while ((y<60000)&&(PIND.0==0));
}
//пишем
PORTB=chargen[13];
y=0;
for (x=0;x<8;x++) for (x2=0;x2<8>>x2)&1;
y=0;
if (PIND.0==1) {
do { y++; } while ((y<30000)&&(PIND.0==1));
}
if (nxt==0) { DDRD.0=1;delay_us(45);DDRD.0=0; }
else {if(PIND.0==0) { do { y++; } while ((y<60000)&&(PIND.0==0));}};
PORTB=chargen[14]; }
}}}
#asm("sei");
}-
AC/DC
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт май 03, 2007 18:43:32
- Откуда: Kirov:\
Вопросы.....
Здраствуйте. Респект создателям девайса! Буду собирать.
Скажите пожалуйста, какие надо индикаторы: с общим катодом, или анодом.
И если я буду шить в AVReal'е, то как мне правильно выставить BodLevel?
BODLEVEL=4 ? Или подругому?
Скажите пожалуйста, какие надо индикаторы: с общим катодом, или анодом.
И если я буду шить в AVReal'е, то как мне правильно выставить BodLevel?
BODLEVEL=4 ? Или подругому?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Поглядел я на показанный код, и мне бросились в глаза #asm("cli") и #asm("sei"). Получается, прерывания запрещаются на приличное время - динамическая индикация не мигает при этом?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
AC/DC
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт май 03, 2007 18:43:32
- Откуда: Kirov:\
САБЖ собрал, сразу заработало. :P Индикаторы с общим катодом. При прошивке в АВРеале указал только CKDIV8=1 и BODLEVEL=4. Вроде бы работает. Гемор с дребезгом кнопок всётаки есть, но терпимо.
Если кому надо печатную плату в Sprint Layout 5, то выложу.
Если не секрет, что девайс показывает, когда соединяю с домофоном? Когда соединяю, загорается буква "A", а потом, когда отпускаю - несколько секунд горит "]". Что это означает?
Если кому надо печатную плату в Sprint Layout 5, то выложу.
Если не секрет, что девайс показывает, когда соединяю с домофоном? Когда соединяю, загорается буква "A", а потом, когда отпускаю - несколько секунд горит "]". Что это означает?
- dx40
- Нашел транзистор. Понюхал.
- Сообщения: 182
- Зарегистрирован: Вт июл 11, 2006 12:39:16
- Откуда: Москва
- Контактная информация:
Ответ сразу на оба вопроса - во время эмуляции динамическая индикация останавливается, работает только один индикатор, который показывает код текущего действия (или ошибки).
A - ждем сброса
b - пережидаем сбррос
C - читаем комманду
d - выдаем ответ
E - эмуляция закончена
Если все правильно, то буквы мигают так быстро что их не заметно. Если какая-то буква отображается заметное время, значит произошла ошибка (например из-за плохого контакта со считывателем).
A - ждем сброса
b - пережидаем сбррос
C - читаем комманду
d - выдаем ответ
E - эмуляция закончена
Если все правильно, то буквы мигают так быстро что их не заметно. Если какая-то буква отображается заметное время, значит произошла ошибка (например из-за плохого контакта со считывателем).
- Max
- Админ
- Сообщения: 10815
- Зарегистрирован: Вт авг 23, 2005 15:23:25
- Откуда: Москва
- Контактная информация:
У товарища мышонка всегда найдется для вас статья - обращайтесь 
А вот футболки кому? Кружки, значки!
Мысли Пачкают Мозги
Мысли Пачкают Мозги
-
TimON
- Родился
- Сообщения: 3
- Зарегистрирован: Чт июн 21, 2007 20:41:33
- Откуда: Novosibirsk
- Контактная информация:
Давно уже задумал подобный девайс (не именно этот, а функционально аналогичный, контроллер кстати под рукой оказался этот же), сделал - нифига не работает! Процедурку эмуляции копал/проверял/рассматривал потихоньку, ибо к подъезду с осциллом и т.д. не вылезешь и не поизучаешь - чревато.. И забросил. А тут (с год примерно прошло с тех времён) наткнулся на сабж..
Ну это была предыстория, далее суть: есть вопросы к тем кто сей девайс поюзал уже (автору в том числе):
1. Такие вообще есть? =)
2. Марки домофонов (или иных устройств на базе DS1990) на которых проверено и работает/не работает.
3. То что оно само себя (в смысле точно такой же девайс в режиме эмуля) игнорирует на чтение (полностью, как будто и нету ничего) - нормально, или я место произростания рук неверно указал?
ЗЫ: Покопал код, изменил там индикацию - теперь индикатор нужен один - при эмуле светит, при чтении мигает. Остановился пока не проверю саму эмуляцию на домофоне (пока нету такой возможности).
Далее планирую, при успешном тесте собственно эмуляции в домофоне, довести штучку до ума, и выложить тут результаты. Пока лишь в мыслях крутится воплощение габаритами примерно с саму таблетку, ну мож чуть больше, пока упёрлось всё в испытания на домофоне...
Ну это была предыстория, далее суть: есть вопросы к тем кто сей девайс поюзал уже (автору в том числе):
1. Такие вообще есть? =)
2. Марки домофонов (или иных устройств на базе DS1990) на которых проверено и работает/не работает.
3. То что оно само себя (в смысле точно такой же девайс в режиме эмуля) игнорирует на чтение (полностью, как будто и нету ничего) - нормально, или я место произростания рук неверно указал?
ЗЫ: Покопал код, изменил там индикацию - теперь индикатор нужен один - при эмуле светит, при чтении мигает. Остановился пока не проверю саму эмуляцию на домофоне (пока нету такой возможности).
Далее планирую, при успешном тесте собственно эмуляции в домофоне, довести штучку до ума, и выложить тут результаты. Пока лишь в мыслях крутится воплощение габаритами примерно с саму таблетку, ну мож чуть больше, пока упёрлось всё в испытания на домофоне...
Coming Soon...
-
TimON
- Родился
- Сообщения: 3
- Зарегистрирован: Чт июн 21, 2007 20:41:33
- Откуда: Novosibirsk
- Контактная информация:
Re: Индикация
Неверно прошит, либо глюк контроллера. Там в коде в принципе нет такой кондиции чтоб он два нуля показывал. На первый индикатор выгоняется либо 0x10 либо 0x12 - собственно чтение или эмуляция, иного быть не может, разве только это не тестовая последовательность в процессе эмуляции, которая пришлась на первое знакоместо, но нуля там тоже нету.AC/DC писал(а):Пару раз было, что индикаторы 2 ноля показывают. Что это значит?
Coming Soon...