Самодельная графическая приставка

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить

Счетаете ли вы актуальным создовать такую приставку???

Да
32
15%
Нет
26
13%
Просто прикольно
58
28%
Тема
13
6%
Не вижу смысла
37
18%
Тупость
31
15%
Яб купил еслеб продовалось
11
5%
 
Всего голосов: 208

Друг Кота
Аватара пользователя
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Сообщение hybroid »

Вадиматоричик писал(а):Проблема в том что в моём коде каждый светодиод имеет свою переменную (Что очень напрягает)Для второго варианта придёться писать ещё формулу которая 12 переменных объединяет в одно число!
XOR? Не, не слышал.
Юзай си. Формула, блин :)))
Реклама
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Нужно как то 12 ноликов или единиц привести к одному числу в 10-тичной системе.
Все можно сделать, было бы желание!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Сообщение hybroid »

Юзай си.
Или что угодно, что умеет работать с побитными операциями. Чувствую, скоро будешь выдавать "формулы". Сядь и задумайся, почему большинство разумных людей не пользуются всякими алгоритм-билдерами и прочими поделками?
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Почитал по яндексел (Гугл не люблю). Нормального объяснения XOR не нашел.
Все можно сделать, было бы желание!
Реклама
Эиком - электронные компоненты и радиодетали
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Можете расписать мне алгоритм конвертации?
Все можно сделать, было бы желание!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Сообщение hybroid »

Да какой тут алгоритм. Это побитовые операции.
Вот тебе пример на сях:

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

    // сброс ЖКИ. нужно делать при старте ЖКИ. происходит начальная инициализация говнопанели =)
    // сигнал сброса - лог. 0. длительность - не менее 10мкс. я подаю 1мс на случай предделителя
    // "на 8" ;)
    LCD_PORT &= ~(1<<LCD_RESET);
    _delay_us(10);
    LCD_PORT |= (1<<LCD_RESET);
Кусок кода. LCD_RESET - это байт с одним битом ноги. Например 0b00000010. LCD_PORT - тоже байт. Вот в первом случае устанавливается 0, не затрагивая остальные биты порта. Во втором - 1, не затрагивая остальные биты порта.

Кури Си, слушай, что тебе говорят тысячный раз.
Вот тебе твоя "формула", как ты это обозвал:

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

    LCD_DDR |=  (1<<LCD_CS)
                | (1<<LCD_DATA)
                | (1<<LCD_RESET)
                | (1<<LCD_CLK)
                | (1<<LCD_MOSI)
                | (1<<LCD_LED);
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Вадиматоричик писал(а):Нужно как то 12 ноликов или единиц привести к одному числу в 10-тичной системе.
При чем здесь 10-чная система?
12 переменных надо думать булевские (горит-не горит, 0-1)? Значит берем 16-разрядную переменную Y, обнуляем, а дальше:

-суммируем ее с нашей переменной X1 (одна из 12)
-умножаем Y на 2 или сдвигаем влево
-суммируем с X2
-умножаем
...
...
-суммируем с X12
-выводим по SPI младший и старший байты. все.
выводить второй байт можно как все 8 бит (все равно в 595-х регистрах по 8 выходов), так и нужные 4 - так быстрее, но нужно уметь управлять регистром статуса SPI (там счетчик тактов есть).

А теперь в чем проблема этого языка: все эти 12 переменных, если компилятор достаточно умный, на самом деле все-равно уже лежат в 2-х соседних байтах памяти отдельными битами. В худшем случае они занимают отдельные байты, но тогда это уже :facepalm: Так вот, тут нам приходится делать лишнюю работу и собирать байт из битов, которые уже лежат в одном байте. Как объяснить компилятору что этот байт надо целиком отправить в порт? Если есть возможность оформить их как структуру (или как там еще это можно обозвать), это еще хорошо, в Си вроде это без проблем. В ассемблере это вообще делается автоматом еще на этапе выделения памяти в сегменте данных, и потом элементарно выводится парой строчек кода.

Вариантов остается несколько:
1) Остаться на FlowCode и разбираться самому, ждать нескольких человек, которые тоже знают эту среду или уйти на их форум. Еще раз уточню - серьезных вещей на этом языке не написать.
2) Перейти на Си. Большая часть народа пишет на нем. Многие могут помочь советом. Но нужно некоторое знание синтаксиса.
3) Перейти на ассемблер. Многие (в т.ч. я) сидят на нем. Начинать в любом случае нужно с него - придет полное понимание работы контроллера и его периферии. Такие вопросы, как работа SPI вообще бы не возникли, если посмотреть структурную схему модуля SPI и описание его регистров.
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

<<-это знак чего?И как понять 1<<
Все можно сделать, было бы желание!
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

1<<BIT_NAME - означает сдвинуть "1" влево на количество разрядов BIT_NAME, иными словами, установить в числе бит BIT_NAME в "1"
Все имена битов задаются в заголовочных файлах или в главной программе, например
если присвоить биту SPI_CS значение 5, то операция "X=1<<SPI_CS" установит 5-й бит числа X в единицу.
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Я и сам думаю перейти на ассемблер.У него много плюсов занимает меньше всего памяти и работает быстрее но где мне найти реально хороший учебник?Чтобы из серии для чайников.Потому что у меня с английским ужас (3- в четверти).Подскажите реально хороший учебник.
Все можно сделать, было бы желание!
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Ну например "Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера"
Есть в сундуке, там еще много чего можно найти.
Английский нужно все-таки знать, все справочные данные лучше читать на языке оригинала. В том-же сундуке есть книги Евстифеева, там довольно подробно описана архитектура AVR.
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Сообщение Foks »

Да. Вот эта книга:
http://sunduk.radiokot.ru/loadfile/?load_id=1310544903 - это фактически перевод даташита на русский язык. Она будет Вам очень полезна.

Порылся там в сундуке. В качестве самоучителя мне понравилась вот эта книга:
http://sunduk.radiokot.ru/loadfile/?loa ... 04&turbo=1

Отлично расписаны основы цифровой схемотехники, и потом сделан плавный переход на микроконтроллеры. И там есть программы и на ассемблере и на Си.
Giggity giggity goo!
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

"Самоучитель разработчика устройств на микроконтроллерах AVR"
Все начал штудировать.
Все можно сделать, было бы желание!
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Очень интересно уже на 25 странице зубрёжки я понял что это за диапазон от 0 до 255.Многие вопросы исчезли.(На каждую страницу состовляю мини конспект, прям как на истории) :))
Все можно сделать, было бы желание!
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

40 страниц прочитал только счётчики и делители прошли.
Все можно сделать, было бы желание!
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Самое интересное еще впереди.
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Наверное а так как я не просто читаю а конспектирую это длиться оч долго.Раньше я на и или не бросал а сейчас хочу до конца дочитать.
Все можно сделать, было бы желание!
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Как понять по спаду первого входного импульса?
Все можно сделать, было бы желание!
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

В момент обведенный красным.
1to0.PNG
(290 байт) 429 скачиваний
Грызет канифоль
Сообщения: 299
Зарегистрирован: Пн май 16, 2011 10:54:32
Откуда: Красноярск

Сообщение Вадиматоричик »

Понял многое прояснилось.=)Читаю 41
Все можно сделать, было бы желание!
Ответить

Вернуться в «Умные мысли»