AdamBeno Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 Приветствую всех! Помогите мне разобраться с светодиодами ws2812, недавно заказал светодиодную ленту и через неделю должна приехать, хотел заранее подготовиться, начал моделировать в протеусе, но у меня никак не получается зажечь светодиод, напишите кому не сложно код на ассемблере для attiny13 чтобы зажечь светодиод ws2812 сначала белым а потом любым другим цветом какой вам будет удобнее, думаю дальше сам разберусь. Даташит на светодиод читал, имею представление как выставить цвета и как должна происходить передача пакета, но не могу разобраться с ассемблером. Заранее благодарю! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 Покажите на чем загвоздка. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Реле, вентиляторы, корпуса, разъемы, а так же любые электронные компоненты в нашем каталоге! Бесплатная доставка + 15% кэшбэк + скидки!Перейти на сайт ТМ Электроникс Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
солар Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 1 час назад, AdamBeno сказал: никак не получается Где "как"? 0 Я не раздаю удочки. Я продаю рыбу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 Вот к примеру, 30 светодиодов, зажечь всех одним белым цветом получается, но вот как дальше двигаться никак не пойму, к примеру зажечь первый светодиод белым цветом а остальные оставить как есть не зажженными, или зажечь половину красным цветом остальные зеленым цветом. Если можете, напишите самый простой пример на двух светодиодах, нужен маленький толчок, можно и на другом МК, если будет проще для вас. example.asm 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке. Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
солар Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 sbi portb, 0 cbi portb, 0 Для начала расставить тайминги. В даташите указаны. 0 Я не раздаю удочки. Я продаю рыбу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Литиевые батарейки и аккумуляторы от мирового лидера EVE в КомпэлКомпания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 53 минуты назад, Геннадий сказал: загвоздка. Загвоздка в том, что я не знаю как формировать 24 бита, к примеру для красного цвета, с моим уровнем у мня получается код очень длинным, с задержками после каждого бита. 2 минуты назад, солар сказал: расставить тайминги тайминги нужно расставлять после каждого бита, и того 24 бита и столько таймингов, да? sbi portb, 0 ldi r18, 6 L1: dec r18 brne L1 nop cbi portb, 0 вот так 24 раза? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
солар Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 Передача бита: 1. выставить "1" 2. подождать N мкс. 3. выставить "0". 4. подождать K мкс. N+K= 1,25мкс. N зависит от того, какой бит передаем - "1" или "0". И так 24 раза для каждого светодиода. Не забываем, что первые после сброса 24 бита остаются в первом в линейке светодиоде. Следующие 24 бита передаются на второй светодиод и т.д. 0 Я не раздаю удочки. Я продаю рыбу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 4 часа назад, AdamBeno сказал: sbi portb, 0 ldi r18, 6 L1: dec r18 brne L1 nop cbi portb, 0 вот так 24 раза? Нет. 3 байта помещаете в 3 регистра (РОН), в 4-й регистр помещаете счетчик сдвигаемых бит (в Вашем случае 24). Организуете цикл в котором: - сдвигаете все три регистра данных; - если есть признак переноса (т.е. вытесняется 1) - формируете 1 (с ее таймингами), если переноса нет - формируете 0; - уменьшаете счетчик сдвигаемых бит; - если он не равен 0, т.е. не все биты сдвинуты и переданы, возвращаетесь в цикл и опять сдвигаете три регистра данных... - если счетчик бит равен 0 (все три байта переданы), выходите из цикла передачи. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 @Геннадий Этот пункт я понял, но не получается зажечь любой другой цвет, например зеленый, не знаю или я что то неправильно делаю или это протеус глючит. Для наглядности вот так пробовал, может посмотрите в чем ошибка. main.txt 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 Во всем. Вы с Ассмом не дружите совсем? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 @Геннадий Не спорю, я недавно начал изучать. sbi portb, 0 ldi r18, 6 L1: dec r18 brne L1 nop cbi portb, 0 но так тоже нельзя, L1 дублируется если его повторять 24 раза. вызвать из подпрограммы эту задержку, тоже самое что я делаю для примера с nop. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 (изменено) Где дублируется? Вы мой алгоритм читали? Что-нибудь поняли? Давайте-ка все с начала... Инициализируйте чип полностью для Вашей задачи, а потом и передачу будем обсуждать. Пока кроме неполной инициализации указателя стека Вы ничего не сделали. Про таблицу векторов прерываний не забывайте... И подключите файл с определениями именно для Atmega8. Изменено 4 мая, 2018 пользователем Геннадий 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 @Геннадий Про векторы я не понял, по какому событию они нужны? 53 минуты назад, Геннадий сказал: Где дублируется? Вы сами написали что нужно повторить это 24 раза. main.asm 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 @Геннадий Извиняюсь, я не правильно понял, оказывается вы меня цитировали, а я подумал что вы предлагаете так делать. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 Будьте внимательны. Для Ассма это необходимо. Давайте-ка, постройте примерный алгоритм работы Вашего устройства. Там будем разбираться, как лучше реализовать. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 @Геннадий На самом деле я уже запутался, у меня получается только зажечь всю линейку белым, или зажечь один первый светодиод из линейки тоже белым, у меня практики нет в асме, есть несколько простых проектов с обычными светодиодами которые я делал, в основном изучаю смотря видео ролики и читаю литературу от разных авторов, ситуация такая, из за отсутствия практики код получается слишком громоздким и я начинаю путаться в нем. Дело еще усугубляется и еще тем, что то там не просто передача битов, а еще нужно выдерживать тайминги, и на счет сдвига регистров из рон я не понял на самом деле, но где то в далеке в мозгу есть волна но я не могу за него зацепиться поэтому просил в начале темы наглядный пример. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 4 мая, 2018 Поделиться Опубликовано 4 мая, 2018 В примере Вам будет трудно разобраться, без понятия что к чему. Тем более, что примеров (решений) может быть масса. Поэтому я и "пытаю" Вас, чтобы Вы могли немного представить, что Вам конкретно нужно и как это можно решить программно. Как только Вы приведете свои мысли в порядок, можно будет двигаться в направлении правильного решения. Создание прошивки на Ассме производится в голове на 90%, а листинг написать - 10. Обдумайте все "желания" программы, выложите сюда. Тогда составим алгоритм и будете писАть прошивку, а мы (участники форума) уже поможем Вам с трудностями. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 @Геннадий Вот к примеру я хочу чтобы из трех светодиодов 2 первых зажглись белым светом последний синим. в моем понимании для такого решения мне нужно выставить 48 битов в верхний лог чтобы зажечь первые 2 белым светом, а потом чтобы последний третий зажечь синим мне нужно отправить 24 бита 16 нижний лог и 8 верхний, потом сделать сброс 50 мкс и начать цикл заново, правильно? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 4 мая, 2018 Автор Поделиться Опубликовано 4 мая, 2018 @Геннадий Получилось. Только код слишком громоздкий, буду дальше думать как уменьшить сие чудо. example.asm 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 5 мая, 2018 Автор Поделиться Опубликовано 5 мая, 2018 (изменено) @Геннадий Код уменьшился с 9% до 2.4, создал верхний и нижний лог и вызываю rcall, не знаю на сколько это правильно, но работает, думаю дальше будет лучше если создать цвета нужные и вызывать их. Я правильно делаю, для новичка? main_2.asm Изменено 5 мая, 2018 пользователем AdamBeno 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 5 мая, 2018 Автор Поделиться Опубликовано 5 мая, 2018 Всем спасибо, разобрался с задачей. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 13 мая, 2018 Автор Поделиться Опубликовано 13 мая, 2018 Решил выложить что в итоге у меня получилось, вдруг кому то пригодиться, с сдвигами регистров не стал писать так как мало опыта, главное что и так работает хорошо и не занимает много места. Обработчик цветов для ws2812 на ASM.asm 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 14 мая, 2018 Поделиться Опубликовано 14 мая, 2018 @AdamBeno , уже получается. Вот что значит самому двигаться, без списывания. Проверьте мой вариант (коррекция Вашего). Нет у меня WS2812... rgb.asm 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
AdamBeno Опубликовано 14 мая, 2018 Автор Поделиться Опубликовано 14 мая, 2018 1 час назад, Геннадий сказал: Проверьте мой вариант Мдааа, хороший урок преподали Действительно если бы в начале увидел ваш код, я бы не понял ничего, щас хоть чего то могу понять. 1 час назад, Геннадий сказал: Нет у меня WS2812... У меня тоже нет, через дня три прибудут. В протеусе проверил все работает. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 14 мая, 2018 Поделиться Опубликовано 14 мая, 2018 ОК. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.