Гость shindax Опубликовано 8 мая, 2020 Поделиться Опубликовано 8 мая, 2020 Как Вы считаете, что произойдет после исполнения следующего кода? if(v==3) PORTB.2 = 0; PORTB.3 = 0; PORTB.4 = 1; 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
alfa19 Опубликовано 8 мая, 2020 Поделиться Опубликовано 8 мая, 2020 Я так понимаю, что третье нажатие кнопки приведет к исполнению этой строки, результатом которой будет отсутствие свечения светодиодов портов PB2, PB3 и загорится светодиод порта PB4. И будет гореть до 4 нажатия кнопки. В результате 4 нажатия выполнится по команде: if(v==4)v=0; переход на команду: if(v==0) PORTB.2 = 0; PORTB.3 = 0; PORTB.4 = 0; , которая должна погасить все светодиоды. Благодарю за помощь. Только начал изучать. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
uuu000 Опубликовано 27 мая, 2020 Поделиться Опубликовано 27 мая, 2020 (изменено) Не могу избавиться от минусов для измерения температуры(по моему урок 8): Вопрос снимаю нашел ошибку. было for (int i=0;i<40;i++) { ADCSRA |=(1<<ADSC); while (ADCSRA &(1<<ADSC)){} tmp=tmp+ADC; } return tmp/40; нужно for (int i=0;i<20;i++) { ADCSRA |=(1<<ADSC); while (ADCSRA &(1<<ADSC)){} tmp=tmp+ADC; } return tmp/20; но не понимаю почему такая зависимость от числа измерений Изменено 27 мая, 2020 пользователем uuu000 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
ARV Опубликовано 28 мая, 2020 Поделиться Опубликовано 28 мая, 2020 6 часов назад, uuu000 сказал: не понимаю почему такая зависимость от числа измерений Ну, наверное потому, что tmp переполняется при 40 суммированиях, и не переполняется при 20. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
uuu000 Опубликовано 28 мая, 2020 Поделиться Опубликовано 28 мая, 2020 Спасибо,ARV! Я так и предполагал,теперь попробую поиграться с частотой и с различными МК. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
M83 Опубликовано 21 ноября, 2020 Поделиться Опубликовано 21 ноября, 2020 Всем привет, в этом видеоуроке когда мы делаем подключение кнопки в работу бегущей строки светодиод который подключен к выводу PORTB0 в режиме "с низу в верх" не издает свечение, ошибка в коде? или с чем это связано. На видео находиться с 9:09 до 9:25. Спасибо за внимание 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
M83 Опубликовано 11 января, 2021 Поделиться Опубликовано 11 января, 2021 Доброго времени суток, по шестому уроку вопрос. При подключении LCD дисплея у меня компилятор показывает ошибку // ATmega8A #include <avr/io.h> #define F_CPU 8000000 #include "n5110.h" void preset(){ Lcd_init(); Lcd_clear(); } int main(void) { preset(); while(1) { Lcd_prints(0, 3, FONT_1X,(unsigned char *)PSTR("Hellow")); Lcd_prints(0, 3, FONT_1X,(unsigned char *)PSTR("Привет")); Lcd_update(); } Ошибка компилятора: Error 1 undefined reference to `Lcd_init()' E:\proect\Lessons\Les6\GccApplication6\GccApplication1\Debug/.././GccApplication1.cpp 9 1 GccApplication1 Error 2 undefined reference to `Lcd_clear()' E:\proect\Lessons\Les6\GccApplication6\GccApplication1\Debug/.././GccApplication1.cpp 10 1 GccApplication1 Error 3 undefined reference to `Lcd_prints(unsigned char, unsigned char, LcdFontSize, unsigned char const*)' E:\proect\Lessons\Les6\GccApplication6\GccApplication1\Debug/.././GccApplication1.cpp 21 1 GccApplication1 Error 4 undefined reference to `Lcd_prints(unsigned char, unsigned char, LcdFontSize, unsigned char const*)' E:\proect\Lessons\Les6\GccApplication6\GccApplication1\Debug/.././GccApplication1.cpp 22 1 GccApplication1 Error 5 undefined reference to `Lcd_update()' E:\proect\Lessons\Les6\GccApplication6\GccApplication1\Debug/.././GccApplication1.cpp 23 1 GccApplication1 При изменении #include "n5110.h" на #include "n5110.с" компилятор работает но тогда показывает такую ошибку. Я так понимаю что память перегружена но чем?(Если надо скрин могу кинуть) Error 1 Program Memory Usage : 6866 bytes 83,8 % Full Data Memory Usage : 1054 bytes 102,9 % Full (Memory Overflow) GccApplication1 0 0 GccApplication1 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 11 января, 2021 Поделиться Опубликовано 11 января, 2021 а вы файлы "n5110.h" "n5110.с" к проекту прикрутили? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
gogaze Опубликовано 20 января, 2021 Поделиться Опубликовано 20 января, 2021 12.01.2021 в 00:22, M83 сказал: Доброго времени суток, по шестому уроку вопрос. Если файлы библиотеки дисплея на месте и подключены правильно, то все компилируется без ошибок. 0 Мир не без добрых людей! Ссылка на комментарий Поделиться на другие сайты Поделиться
Vit@lik Опубликовано 3 мая, 2021 Поделиться Опубликовано 3 мая, 2021 (изменено) Делаю что-то похожее на ИК пульт. Использовал атмегу8 и 8МГц кварц. Настроил Таймер_2 в режим СТС. Настроил Таймер 2 на частоту 36кГц. И проверил осциллографом - все работает. 36кГц есть на порте. Была у меня идея первый таймер использовать для генерации частоты а второй для того чтобы им первый включать и выключать с определенными задержками для создания "пакетов" данных. Но подумал немного и что-то мне стало жалко использовать аж целых два таймера только для одного этого задания. И решил попробовать сделать на одном таймере. Написал функцию которая посылает сначала стартовый длинный пакет импульсов, а потом берет массив в котором находятся 1 и 0 (код который нужно отправить), и в зависимости от того 1 или 0 отправляет пачки импульсов определенной длины добавляя задержки между ними. For и Loop не использовал чтобы процессор "не зависал" в прерывании на долго и успевал выполнять другие задачи. Все сделано проверками IF и еще несколько статических переменных и там же в векторе ISR(TIMER0_OVF_vect) инвертирую порт. Правильно ли я поступил? На время разработки я запустил таймер_2 который генерирует несущую частоту 36кГц на постоянно. Но в дальнейшем когда программа будет закончена буду запускать его кнопкой только на время передачи импульсов и по он окончанию самостоятельно выключиться. Таймер_2 работает на прямую от генератора 8МГц то есть - на частоте процессора. void timer2_init () { TIMSK |= (1<<OCIE2); //Timer/Counter2 Output Compare Interrupt Enable //Разрешение прерывания по совпадению таймера/счетчика2 TCCR2 |= (1<<CS20) | (1<< WGM21); // clkT2S/1024 (From prescaler) AND Clear Timer On Compare - CTC OCR2 = 110; // Output Compare Register – OCR2 continuously compared with the counter value (TCNT2) } А таймер 0 для других заданий так clkT2S/128 (From prescaler) void timer0_init(){ TIMSK |= (1<<TOIE0); TCCR0 |= (1<<CS00) | (1 << CS02) ; //TCNT0 = 60; //PORTD |= (1<<7); } Так вот код в OVF таймера _0 не выполняется когда запущен таймер_2 ISR(TIMER0_OVF_vect){ //code //code } То есть если превысить некий лимит команд в прерывании таймера_2 то код в прерывании таймера_0 не выполняется. Я все правильно понимаю? Это потому что таймер_2 работает на частоте процессора и забирает все его время и производительность на себя? И код в основном цикле тогда тоже не будет выполняться если таймер_0 будет все время прерываться с частотой тактирования процессора? Если i < 11 таймер_0 не работает. Если i < 10 то еще работает. ISR(TIMER2_COMP_vect){ //fire_act(); for(int i = 0; i < 11; i++){asm("nop");} }//ISR Я понимаю это так. Что время выполнения кода прерывания или равно или превышает время между вызовами этого же прерывания. Правильно? Только что заметил что ошибся с темой. А удалить сообщение уже нельзя ... Изменено 3 мая, 2021 пользователем Vit@lik 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 25 сентября, 2021 Поделиться Опубликовано 25 сентября, 2021 (изменено) Я правильно понимаю, что в шестом уроке, где показывается использование LCD дисплеев 5110 или 3310 используется библиотека только конкретно для этих дисплеев. А допустим использование других дисплеев требует других библиотек. 1. Это верно? Ещё вопросы: 2. Кто разрабатывает эти библиотеки? Производители дисплеев или это конкретно "труд радиолюбителя/разработчика"? 3. Если эти библиотеки разрабатывает производитель, тогда где их брать? 4. Использование других библиотек как-то влияет на процесс программирования, конкретно на код. Я имею в виду сам текст программы, а не подключаемые библиотеки. Изменено 25 сентября, 2021 пользователем Юрий_Нд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
LiVit Опубликовано 25 сентября, 2021 Поделиться Опубликовано 25 сентября, 2021 5 часов назад, Юрий_Нд сказал: 2. Кто разрабатывает эти библиотеки? Кому надо, тот и разрабатывает. Вот мне сейчас босс велел поставить в устройство дисплей на основе ILI9488. Взял pdf на него, настроил регистры, вывел на экран закрашеный прямоугольник. Всё, основная часть работы сделана. А дальше - как уж тебе самому надо. Знакогенератор напишешь, шрифты нарисуешь (или сконвертируешь). А можно как адруинщики поступить. Взять готовую библиотеку (которую кто-то уже написал и не факт, что ей удобно пользоваться лично тебе), немного подшаманить, запустить, а потом бегать и спрашивать всех, как заставить выводить UTF-8 и прочие unicode символы. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 26 сентября, 2021 Поделиться Опубликовано 26 сентября, 2021 18 часов назад, LiVit сказал: босс велел поставить в устройство дисплей на основе ILI9488. Взял pdf на него, настроил регистры, вывел на экран закрашеный прямоугольник. Всё, основная часть работы сделана. ... случайно нашёл у себя дисплей LC1628. Как думаете, реально найти для него библиотеку. Или самому придётся "ваять"? --- По поводу "ардуинщиков". Я правильно понимаю, что "ардуинщики" отличаются от всей братии только тем, что им не нужно заниматься пайкой. Всё железо они покупают, а уже дальше, что "ардуинщик", что другой радиолюбитель, сталкивается с теми же проблемами написания кода, прошивками и всё такое. --- ... насколько я понимаю, в этой теме железом не занимаются? Подскажите пожалуйста, на этом форуме есть место/ раздел, где обучают "железу" по АВР. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
andrusha152 Опубликовано 26 сентября, 2021 Поделиться Опубликовано 26 сентября, 2021 17 минут назад, Юрий_Нд сказал: раздел, где обучают Вы не правильно понимаете, для чего существуют форумы. Никак не для обучения. Учиться вы должны сами. А форумы для советов, помощи в непонятных вопросах, консультациях. Поглумиться могут над очень уж тупыми вопросами. 21 минуту назад, Юрий_Нд сказал: реально найти для него библиотеку Ищите, никто за вас этим заниматься не будет. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Starichok Опубликовано 26 сентября, 2021 Поделиться Опубликовано 26 сентября, 2021 28 минут назад, Юрий_Нд сказал: что "ардуинщики" отличаются от всей братии только тем, что им не нужно заниматься пайкой. "ардуинщики" еще отличаются тем, что не умеют думать своей головой, поэтому пользуются библиотеками. 1 Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду. Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 26 сентября, 2021 Поделиться Опубликовано 26 сентября, 2021 36 минут назад, andrusha152 сказал: Вы не правильно понимаете, для чего существуют форумы. Прошу прощения что неправильно выразился. Полностью могу подписаться под теми словами, в которых Вы говорите, для чего существуют форумы. Постараюсь впредь более корректно выражаться. ------------------------------------------------------------------------------------------------------------------------------------------------- 33 минуты назад, Starichok сказал: "ардуинщики" ... пользуются библиотеками. Спасибо за комментарий. Вы не могли бы подсказать, где обсуждаются вопросы создания библиотек для дисплеев? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Starichok Опубликовано 26 сентября, 2021 Поделиться Опубликовано 26 сентября, 2021 в даташитах на дисплеи. 0 Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду. Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 26 сентября, 2021 Поделиться Опубликовано 26 сентября, 2021 (изменено) 2 часа назад, Starichok сказал: в даташитах на дисплеи. Это понятно, но я имел в виду исключительно наш форум. Есть ли здесь где-то место, где исключительно обсуждаются вопросы создание библиотек для дисплеев? Изменено 26 сентября, 2021 пользователем Юрий_Нд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 26 сентября, 2021 Поделиться Опубликовано 26 сентября, 2021 Скажите пожалуйста, эти видеоуроки есть где-то в текстовом виде? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 27 сентября, 2021 Поделиться Опубликовано 27 сентября, 2021 Восьмой урок крайний? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 5 октября, 2021 Поделиться Опубликовано 5 октября, 2021 (изменено) Доброй ночи Всем. Подскажите пожалуйста, почему в примере урока всё работает только с одной библиотекой, а мне необходимо подключать две библиотеки? И почему так сильно "забита" память, в отличие от примера? Часто нажимал клавишу "Сохранить всё". Может, поэтому память "забита"? Но это рекомендовал автор, я так понял. Спасибо ____________ Юрий. п.с. undefined reference to "Lcd_init()" Изменено 5 октября, 2021 пользователем Юрий_Нд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 6 октября, 2021 Поделиться Опубликовано 6 октября, 2021 (изменено) Файлы. Les-Std-03.cpp n5110.c n5110.h Les-Std-03.hex Les-Std-03.lss Les-Std-03.atsln Les-Std-03.atsuo Изменено 6 октября, 2021 пользователем Юрий_Нд 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
LiVit Опубликовано 6 октября, 2021 Поделиться Опубликовано 6 октября, 2021 Как было-бы круто, если бы руководители нанимающие специалистов по электронике, вот таким вот образом пытались сделать что-то сами, а потом поняв, как это непросто, решали - "А, к чёрту, пойду в проститутки найму нормального специалиста и буду платить ему нормальные деньги". Но нет. Практика показывает, что эти граждане считают что там всё просто. Взял буратину, накачал скетчей и вуаля - всё работает! P.S. если что - у меня нормальный работодатель, понимающий. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Юрий_Нд Опубликовано 6 октября, 2021 Поделиться Опубликовано 6 октября, 2021 17 минут назад, LiVit сказал: найму нормального специалиста Интересно, а Вы лично себя к какой группе специалистов причисляете? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
LiVit Опубликовано 6 октября, 2021 Поделиться Опубликовано 6 октября, 2021 3 часа назад, Юрий_Нд сказал: Интересно, а Вы лично себя к какой группе специалистов причисляете? А вам зачем? Нанять хотите? Не хватит денег. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.