Изучение уязвимостей электронных систем.
 
key programming immo tools emergency start device программаторы ключа заводилки Кодграббер штатных охранных систем, toyota, lexus, subaru.

Вернуться   Изучение уязвимостей электронных систем > Для начинающих > Программирование микроконтроллеров

Программирование микроконтроллеров Темы касающиеся программированию микроконтроллеров разных производителей.

Ответ
 
Опции темы
Старый 25.10.2008, 03:53   #71
ZAN
случайно влез
 
Регистрация: 01.04.2007
Адрес: Phreaker.Us
Сообщений: 49
Поблагодарил: 1
Поблагодарили 20 раз в 10 сообщениях
ZAN стоит на развилке
По умолчанию

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


In Vino Veritas.
ZAN вне форума   Ответить с цитированием
Старый 25.10.2008, 04:13   #72
ZAN
случайно влез
 
Регистрация: 01.04.2007
Адрес: Phreaker.Us
Сообщений: 49
Поблагодарил: 1
Поблагодарили 20 раз в 10 сообщениях
ZAN стоит на развилке
По умолчанию

Немного затупил забыл код вставить
ex1:
btfss portc,2
goto ex2
incfsz TimeLog1_1,1 ; подсчет длительности единицы
goto m3
incf TimeLog1_2,1
m3:
goto ex1

И по ходу еще один вопрос вспомнил.
На счет команд sublw, subwf
вопрос в следующем: если мы отнимаем с помощью sublw .30, получается из регистра w вычитаем 30. Если в w у нас 29 то в регистре status поднимается флаг переноса заема, хотя результат у нас даже не нулевой не говоря уже о переносе (30-29=1). А вот если в w например 31 (больше чем константа) то флаг с не поднимается. В чём причина???


In Vino Veritas.

Последний раз редактировалось ZAN; 25.10.2008 в 04:14. Причина: ошибка
ZAN вне форума   Ответить с цитированием
Старый 25.10.2008, 04:37   #73
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Таймер я использую только что бы ожидания фронта не сделать мертвым! Зачем периферия в приеме, не понимаю) Ловим фронт, далее ждем, делаем замер ждем, делаем замер ждем, короче крутим счетчик на несколько замеров с ожиданием.
;**************************************
------movlw d'6'
------movwf bank0
preambula
------movlw d'10'
------movwf bank2
log_1
------btfsc PIR1,TMR2IF
------bra werh
------btfss PORTA,4
------bra werh

------movlw d'25'
------movwf bank1
------decfsz bank1,f
------bra $-2

------decfsz bank2,f
------bra log_1

------clrf TMR2
;**************************************
taimer_0
------btfsc PIR1,TMR2IF
------ bra werh
------btfsc PORTA,4
------bra taimer_0
;**************************************
------movlw d'10'
------ movwf bank2
log_0
------btfsc PIR1,TMR2IF
------bra werh
------btfsc PORTA,4
------bra werh

------movlw d'20'
------movwf bank1
------decfsz bank1,f
------bra $-2

------decfsz bank2,f
------bra log_0

------clrf TMR2
;**************************************
taimer_1
------btfsc PIR1,TMR2IF
------bra werh
------btfss PORTA,4
------bra taimer_1
;**************************************
Вот кусок отлова преамбулы, писал больше года назад, я наверно в закрытом разделе выложу всю программу, сделаю пару ошибок и все, посмотришь. В этом куске, вверху счетчик на 6, это 6 периодов в преамбуле, лог 1 и 0 (кстати, тема под StarLine сига такая) счетчик на 10 это и есть 10 замеров, ожидание с константой 20. В исходнике конечно все интересней, это так скапировал на скорую руку. Можно все конечно по другому сделать с вочь дог таймером, но мне понравилось тестировать флаг переполнения таймера, не заводя прерывания от таймера и подпрограмму обработки прерывания, любое не совпадения bra werh программы)


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 25.10.2008, 04:46   #74
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Цитата:
Сообщение от ZAN Посмотреть сообщение

И по ходу еще один вопрос вспомнил.
На счет команд sublw, subwf
вопрос в следующем: если мы отнимаем с помощью sublw .30, получается из регистра w вычитаем 30. Если в w у нас 29 то в регистре status поднимается флаг переноса заема, хотя результат у нас даже не нулевой не говоря уже о переносе (30-29=1). А вот если в w например 31 (больше чем константа) то флаг с не поднимается. В чём причина???

Я этой командой не пользовался, пака не зачем было, в ближайшем будущем вопрос математики буду поднимать для себя, по этому честно, не чего не скажу пака тебе.


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 25.10.2008, 16:01   #75
picman
случайно влез
 
Регистрация: 26.10.2007
Сообщений: 16
Поблагодарил: 1
Поблагодарили 2 раз в 2 сообщениях
picman стоит на развилке
По умолчанию уау.

Ай ребята молодцы! Взяли за основу устройство (пусть и кодграббер) и начали практически с нуля. И главное все доступно расписываете для начинающих. Пусть код не самый крутой (но рабочий!!!), все с ЭТОГО начинали. Одобрям. Я когда то, когда только начинал ПИКами заниматься все сам изучал, хоть бы кто помог. А тут... Молодцы короче. Прошу прощения, что не по теме высказываюсь, просто за это приятно. ( я грабберами давно интересовался, так до практического изготовления руки и не дошли, немножко в другой области приходится свои знания применять)
picman вне форума   Ответить с цитированием
Старый 26.10.2008, 02:48   #76
ZAN
случайно влез
 
Регистрация: 01.04.2007
Адрес: Phreaker.Us
Сообщений: 49
Поблагодарил: 1
Поблагодарили 20 раз в 10 сообщениях
ZAN стоит на развилке
По умолчанию

Цитата:
Сообщение от picman Посмотреть сообщение
Ай ребята молодцы! Взяли за основу устройство (пусть и кодграббер) и начали практически с нуля. И главное все доступно расписываете для начинающих. Пусть код не самый крутой (но рабочий!!!), все с ЭТОГО начинали. Одобрям. Я когда то, когда только начинал ПИКами заниматься все сам изучал, хоть бы кто помог. А тут... Молодцы короче. Прошу прощения, что не по теме высказываюсь, просто за это приятно. ( я грабберами давно интересовался, так до практического изготовления руки и не дошли, немножко в другой области приходится свои знания применять)

А ты подключайся авось и до практической реализации дойдет!!! На форуме достаточно информации, чтобы начать. Главное не опускать руки и работать работать!!! И тогда будет результат, пусть хоть и не большой но все же!!!! И так по тихоньку дойдешь до цели. Может и сам кому поможешь советом. Например почитай ветку может на что нить нет ответа а ты знаешь вот и можешь ответить....


In Vino Veritas.
ZAN вне форума   Ответить с цитированием
Старый 26.10.2008, 07:20   #77
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Цитата:
Сообщение от ZAN Посмотреть сообщение
Немного затупил забыл код вставить
ex1:
btfss portc,2
goto ex2
incfsz TimeLog1_1,1 ; подсчет длительности единицы
goto m3
incf TimeLog1_2,1
m3:
goto ex1

И по ходу еще один вопрос вспомнил.
На счет команд sublw, subwf
вопрос в следующем: если мы отнимаем с помощью sublw .30, получается из регистра w вычитаем 30. Если в w у нас 29 то в регистре status поднимается флаг переноса заема, хотя результат у нас даже не нулевой не говоря уже о переносе (30-29=1). А вот если в w например 31 (больше чем константа) то флаг с не поднимается. В чём причина???

Идею понял, но я немного по-другому сделал. Вот смотри, время пакета нам известно, так же нам известно, что при сильно разряженной батарейке в пульте, время пакета уплывет на 50%. Зная эти факты, мне например не захотелось считать длину периода, я просто наложил маску на период, посмотри вложение) Вот к примеру 5 замеров, четыре контролируют, что бит не поломан, а пятый замер уйдет во флаг переноса и задвинется, только если там 0, то задвинуть нужно 1 и на оборот соответственно. Четыре замера это условно, у меня их больше в два раза, тут все зависит от настроения))) После пятого замера, нужно вывалится в ожидания ноля, затем фронта, зачем думаю понятно (на картинке все видно) Ожидание ноля не может быть мертвым, а вот ожидания фронта нужно защитить, можно таймером, можно что ни будь, куда ни будь инкрементировать! Второй вариант не лучший, при наличии 4 таймеров в контроллере. Этот способ не претендует на идеальность, просто я прикинул, что для меня это быстро реализуется, без головняков и гемора. Контролировать 3Те не нужно, я не нашел ни одной причины, что бы делать это. Я это все о KEELOQ говорю, преамбулу правда не очень описал, все собираюсь подправить.
Вложения
Тип файла: rar 64.rar (13.0 Кб, 282 просмотров)


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 26.10.2008, 09:56   #78
Бендер
Заблокирован
 
Аватар для Бендер
 
Регистрация: 21.10.2008
Адрес: Самара
Сообщений: 24
Поблагодарил: 0
Поблагодарили 1 раз в 1 сообщении
Бендер стоит на развилке
По умолчанию

Я вот лично начал пользоваться Proton + basic compiler (picbasic) и proteus.

На старом добром бейсике под PIC можно за 2 минуты написать то, на что 1 день а то и больше ушел бы. А где надо быстродействие - там код на ASM вставляется. Рекомендую новичкам. Мне очень понравилось. Тока и успеваю свой pic16f84a прошивать - чтоб в деле посмотреть ) . А самое главное - proteus - моделирует очень хорошо. И печатку сразу разрабатывает под схему.
Бендер вне форума   Ответить с цитированием
Старый 01.11.2008, 19:46   #79
by4kovs
случайно влез
 
Аватар для by4kovs
 
Регистрация: 21.10.2008
Адрес: www.phreaker.us
Сообщений: 40
Поблагодарил: 10
Поблагодарили 2 раз в 2 сообщениях
by4kovs стоит на развилке
По умолчанию

Цитата:
Сообщение от oleg Посмотреть сообщение
Вот кстати фотка, сделать его нет проблем и отладочную макетку тоже. Я задень скидал пони-прог) Три дня учился портами управлять, через неделю заморгал светодиодом как я хотел, потом по условию стал светодиоды зажигать, затем научился ловить преамбулу и ставить помеху. Через пару месяцев скидал вшивенький граббер под StarLine, прием написал самый хреновый, но тем не менее все работало, как только понял суть таймера, сразу наваял кодподмену!

Олег, я полный ноль в програмировании. И не могу даже представить как сделать так, чтобы светодиоды начали светиться так и тогда , когда я хочу. Поэтому я прошу у тебя помощи с полного ноля, прошу объясинить с чего начинать, что почитать, где почитать (может ссылочки дашь). С радиоэлектроникой проблем нет: с 5 лет пояльник из рук не выпускаю.
Цель моя, конечно кодграббер, но понимаю, что спаяю схему.., а толку прошиву написать не смогу, поэтому и решил начать с ноля. Купить конечно проще, но в голове от этого не прибавиться: слить готовую прошиву с pic-ушки- не вариант, да и вряд ли получитьися, наверняка защита.
Слёзно прошу помощи: расталкуй с чего начать, какой язык выбрать для осваения, и начём вообще пишется прога для pic-а( в смысле какой язык програмирования)
p.s. У меня ноут- com портов нет, только usb.
Надеюсь на помощь. Заранее спасибо!!!
by4kovs вне форума   Ответить с цитированием
Старый 01.11.2008, 20:18   #80
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Цитата:
Сообщение от by4kovs Посмотреть сообщение
Олег, я полный ноль в програмировании. И не могу даже представить как сделать так, чтобы светодиоды начали светиться так и тогда , когда я хочу. Поэтому я прошу у тебя помощи с полного ноля, прошу объясинить с чего начинать, что почитать, где почитать (может ссылочки дашь). С радиоэлектроникой проблем нет: с 5 лет пояльник из рук не выпускаю.
Цель моя, конечно кодграббер, но понимаю, что спаяю схему.., а толку прошиву написать не смогу, поэтому и решил начать с ноля. Купить конечно проще, но в голове от этого не прибавиться: слить готовую прошиву с pic-ушки- не вариант, да и вряд ли получитьися, наверняка защита.
Слёзно прошу помощи: расталкуй с чего начать, какой язык выбрать для осваения, и начём вообще пишется прога для pic-а( в смысле какой язык програмирования)
p.s. У меня ноут- com портов нет, только usb.
Надеюсь на помощь. Заранее спасибо!!!

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


уехал в клуб
oleg вне форума   Ответить с цитированием
Ответ

Метки
codegrabber.ru, кодграббер, программа, прошивка, схема


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Памятки по фциям, CMSIS, StdPerif, HAL, где чего и для чего AliStark ARM 0 19.12.2014 03:08
[Вопрос] код для кодграббера lexei Охранные системы 34 26.09.2014 13:18
[Вопрос] Рецепт кодграббера AMG Новички 2 18.12.2012 16:59
Модернизация Кодграббера Mamont Программирование микроконтроллеров 9 23.04.2011 21:16
фото кодграббера SlavaDve Флейм 10 16.02.2011 21:54


Текущее время: 05:42. Часовой пояс GMT +4.


Перевод: zCarot