Нужна помощ ,не получаеться написать функцию дешифратора

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Synergetik писал(а):по той же причине Вы не должны использовать в своих конструкциях МК, так как он уже кем-то изготовлен. Вы должны сначала вырастить кристалл кремний, поместить на нём логические структуры, пассивные элементы и умудриться поместить всё это в корпус 1х4 см., причём всё это чудо должно работать и причём стабильно.
бредовое сравнение. написать программу в домашних условиях можно, в отличие от выращивания кремниевой подложки. каждый сам для себя решает что и как делать и не вам судить, как он это делает, держите мнение при себе. То что вы делаете по-другому, не дает вам права указывать остальным делать так же.
Использование библиотек позволяет сделать быстро не вникая в подробности. Лично я так не люблю. Мне нравится делать так, чтобы в происходящем процессе знать все тонкости, а не тупо вызов функции и возврат результата.
Ставим плюсы: )
Реклама
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

dosikus писал(а):Чушь полная . По твоему и Fat и работу с USB и другой код , просто необходимо писать заного.

Абсолютно точно! "Просто необходимо"!
dosikus писал(а):Нельзя смотреть чужой, заимствовать , учится у других пусть даже на их ошибках ?

Никогда даже не пытался разобраться в чужом коде. Не благодарное это дело. Вот принцип посмотреть, определить подходит ли он мне, и писать СВОЙ алгоритм.
dosikus писал(а):Нет я не говорю о полном слизывании чужого кода, почему нельзя использовать удачные решения и красивые куски кода ?

Надо писать свой код. Это моё личное мнение, я Вам его не навязываю! Я просто не хочу и не буду "использовать удачные решения и красивые куски кода"
dosikus писал(а):А что ты будешь делать если твой код один в один совпадет с чужим , притом ты его не слизывал ? Так же не будешь пользоватся ?

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

И ещё, уважаемый Synergetik. У меня создаётся впечатление, что у Вас не всё в порядке с логикой, какая то она у Вас не здоровая.
Ещё раз повторюсь, можете делать что хотите, даже МК дома собирать раз уж Вы так хорошо разбираетесь в технологии производства, а я уж как нибудь.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Сообщение BerZerK-ku »

ibiza11 писал(а):Использование библиотек позволяет сделать быстро не вникая в подробности. Лично я так не люблю. Мне нравится делать так, чтобы в происходящем процессе знать все тонкости, а не тупо вызов функции и возврат результата.

Pooher писал(а):Надо писать свой код. Это моё личное мнение, я Вам его не навязываю! Я просто не хочу и не буду "использовать удачные решения и красивые куски кода"

Глупо обобщать. Бывают ситуации когда дешевле и продуктивнее воспользоваться чужими наработками. чем тратить время на изучение материала и написание своих драйверов/функций.
Когда пишете ПО для ПК тоже не используете чужие библиотеки?
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Когда пишете ПО для ПК тоже не используете чужие библиотеки?

Нет. Если не считать таковыми WINAPI.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Pooher писал(а):

Код: Выделить всё

cp r16, r17
breq did_Set
inc r17
rjmp conv


Что-то не въехал в смысл данных строк, можно пояснить?
Чем дальше, тем больше становлюсь занудой...
Изображение
Реклама
edds
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

Парни, есть у кого инфа по управлению отдельными битами -не только портов, но и счётчиков, переменных , иль ссылки какие ? Подскажите.
Реклама
Cat_CooLeR
Опытный кот
Сообщения: 732
Зарегистрирован: Пт авг 22, 2008 16:59:43
Контактная информация:

Сообщение Cat_CooLeR »

edds писал(а):Парни, есть у кого инфа по управлению отдельными битами -не только портов, но и счётчиков, переменных , иль ссылки какие ? Подскажите.

всмысле? Просто установить или сбросить бит? Если так, то две команды:
SBI -устанавливает в I/O.
CBI - очистить в I/O.
и SBR - установить в регистре, и CBR - очистить в регистре.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

GP1 писал(а):
Pooher писал(а):

Код: Выделить всё

cp r16, r17
breq did_Set
inc r17
rjmp conv


Что-то не въехал в смысл данных строк, можно пояснить?

Очень просто:

Код: Выделить всё

Conv: 
cp r16, r17  ; Сравниваем число, которое надо преобразовать с r17
breq did_Set ; Если они равны, переходим непосредственно к конвертации
inc r17 ; Если не равны, то увеличиваем r17 и
rjmp conv ; опять сравниваем
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
edds
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

А в Си как можно управлять битами? Иль только с ассемблеровскими вставками ? Надо инверсию vмладьших битов таймера битов таймера 1 TCCR1B организовать.
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

в си тоже есть
установка бита на порту
TCCR1B |= 1<<BIT1;
бит1 должен быть задефайнен
сбросить в 0
TCCR1B &=0<<BIT1;

TCCR1B^=BIT1; так будет менять состояние на противоположное при каждом вызове
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

edds писал(а):Надо инверсию vмладьших битов таймера битов таймера 1 TCCR1B организовать.

Код: Выделить всё

in r16, TСCR1B ; Считываем TСCR1B в к16
ldi r17, 0b00001111 ; r17<<0b00001111
eor r16, r17 ; Исключающее или r16 и r17
out TTCR1B, r16 ; TTCR1B<<r16
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Pooher
сколько раз говорилось - учитесь правильно задавать вопросы. :)))
про сравнение это понятно, не понятно для чего?
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Pooher писал(а):
dosikus писал(а):Нельзя смотреть чужой, заимствовать , учится у других пусть даже на их ошибках ?

Никогда даже не пытался разобраться в чужом коде. Не благодарное это дело. Вот принцип посмотреть, определить подходит ли он мне, и писать СВОЙ алгоритм.
dosikus писал(а):Нет я не говорю о полном слизывании чужого кода, почему нельзя использовать удачные решения и красивые куски кода ?

Надо писать свой код. Это моё личное мнение, я Вам его не навязываю! Я просто не хочу и не буду "использовать удачные решения и красивые куски кода"


Вероятно ты все писанное мной воспринимаешь на свой счет .
Я же говорил о топикстартере ( о начинающих).
А когда он достигнет твоих высот - вот тогда пусть и занимется изобретательством.
А пока ничего зазорного в изучении и использовании чужого кода им и подобными не вижу.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

не понятно для чего?

Ну, я опять не понял вопроса. По подробнее.
В r16 имеем десятичную цифру, которую надо преобразовать в 7-сегментный код.
В начале обнуляем r17:

Код: Выделить всё

Convert: 
...
clr r17

В итоге, понятное дело, r17=0.
Затем сравниваем r17 и нашу цифру:

Код: Выделить всё

cp r16, r17

Если они равны, т. е. наша цифра - "0"
переходим к конвертации:

Код: Выделить всё

breq did_Set
...
did_Set:
adc ZL, r16
lpm r16, Z
ret
DidGit:
;******0*****,*****1*****,******2******,****3******,...
.db 0b11011110, 0b00001100, 0b10111010, 0b10101110
.db 0b01101100, 0b11100110, 0b11110110, 0b10001100, 0xff, 0b11101110, 0b00010000

А если не равны, то увеличиваем r17 на 1:

и проверяем ещё раз:

Код: Выделить всё

rjmp conv

и так до тех пор, пока r17 не будет равняться нашей цифре.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Вероятно ты все писанное мной воспринимаешь на свой счет .

Ни в коем разе!
А пока ничего зазорного в изучении и использовании чужого кода им и подобными не вижу.

Зазорного конечно ничего нет, но я говорю о том, что это просто бесполезно. Если человек не может сам разобраться, то лучше бросить это занятие, ведь отвечать на "глупые" вопросы не сложно, но ведь пользы "просящему" это не принесёт. Соображающий человек просто не будет задавать таких вопросов. Ведь можно взять лист бумаги, прикинуть что к чему, почитать книгу, DS, "погуглить"...
Надо мной уже даже жена смеётся(и ругается непрерывно). Пойду погулять с ребёнком, сяду на скамеечку, достану листочек бумаги и ручку, и начинаю там нолики с единичками рисовать.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
edds
Встал на лапы
Сообщения: 91
Зарегистрирован: Пт авг 28, 2009 16:08:48
Откуда: г.Вязьма Смоленская обл

Сообщение edds »

Парни, взгляните на код, попробовал написать фазометр для промышленной частоты(~50 гц). Будет ли работать?
Вложения
Q.c
(4.17 КБ) 254 скачивания
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»