Перейти к содержанию

Видеокурс по AVR-микроконтроллерам для начинающих


Рекомендуемые сообщения

4 часа назад, LiVit сказал:

Нанять хотите? 

Нет конечно. 

4 часа назад, LiVit сказал:

Не хватит денег.

Судя по этому ответу, Вы считаете себя нормальным специалистом.

4 часа назад, LiVit сказал:

А вам зачем?

Просто интересно, почему по сути не хотите ответить?
Насколько я понимаю, если Вы нормальный специалист, тогда ответ на вопрос Вы знаете?
Или я ошибаюсь?

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

6 часов назад, Юрий_Нд сказал:

Просто интересно, почему по сути не хотите ответить?

А Вы считаете, что там есть какая-то суть ?
Вам бы не помешало прочитать свой пост самому, взглядом со стороны. Может поймёте, что там написан бред. Извините за прямоту.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

07.10.2021 в 01:30, Alex сказал:

там написан бред.

Ну что ж, попробую  озвучить свое непонимание ещё раз.
В Вашем примере из шестого урока:
Program:    1900 bytes (23% Full)
Data:        511 bytes (49.5% Full)

Мне же удалось выйти,  только на такие показатели:
Program:    3864 bytes (47.2% Full)
Data:        527 bytes (51.5% Full)

Вопрос:
Почему? 

*  картинку из урока №6 повторять здесь не буду, она находится на предыдущей странице, сообщение от 06.10.2021 г.

23 часа назад, gogaze сказал:

С++ ? Уроки то по Си.

Замечание очень правильное, большое спасибо Вам за это.
Однако Ваше замечание запоздало где-то примерно на час - два, потому что над этой проблемой я самостоятельно "бился" почти неделю. И окончательно решил эту проблему 10.10.2021 г.,  примерно в 23:00. 
 Сейчас есть другая проблема, если возможно, помогите пожалуйста, текст проблемы озвучил чуть выше. 

Les-Std-03-02.rar

1 - Обменник - 11.png

Изменено пользователем Юрий_Нд
Ссылка на комментарий
Поделиться на другие сайты

@Юрий_Нд

Скрытый текст

Только что скомпилировал на своей Atmel Studio 7

На скрине - параметры компиляции

В архивах Ваш проект и то, что я сделал

dd9377d2c565t.jpg

 

 

Les-Std-03-02.rar Urok6_new.rar

 

 

Изменено пользователем gogaze
Картинка под спойлер

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Alex сказал:

поколдовать с уровнями оптимизации

Я пробовал, все равно такого разброса нет. У меня получилось от 1832 до 1924. 

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Вот наверное в чем проблема.

Скрытый текст

66bd9e3da78et.jpg

Как-то туда еще и бутлодер записался.

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

$ make
avr-gcc  -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99    -DF_CPU=12000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d  -c  ../main.c
../main.c:3:0: warning: "F_CPU" redefined
 #define F_CPU 8000000
 ^
<command-line>:0:0: note: this is the location of the previous definition
avr-gcc  -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99    -DF_CPU=12000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT n5110.o -MF dep/n5110.o.d  -c  ../n5110.c
avr-gcc -mmcu=atmega8 main.o n5110.o    -o firmware.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature  firmware.elf firmware.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex firmware.elf firmware.eep || exit 0
avr-objdump -h -S firmware.elf > firmware.lss

AVR Memory Usage
----------------
Device: atmega8

Program:    3620 bytes (44.2% Full)
(.text + .data + .bootloader)

Data:        526 bytes (51.4% Full)
(.data + .bss + .noinit)

Проблема все-таки есть. Причем не только в объеме, но и в том, что кто-то пихает F_CPU прямо в код, где ему не место.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

У вас включена опция линковщика подключения библиотек для работы с числами с плавающей точкой. В файле *.lss можно увидеть кучу лишних функций.

В AS 7 отключается в таком месте. Снимите галочку и пересоберите проект.

123.jpg.592c53b02bd56f95745599d7439d4bae.jpg

Ссылка на комментарий
Поделиться на другие сайты

15 часов назад, gogaze сказал:

В архивах Ваш проект и то, что я сделал

Спасибо Вам за подсказку.
Однако, Вашей подсказкой я, простите, не воспользовался.
Я в ново-установленной Microchip Studio создал проект с нуля, с текстом, тождественным с текстом в примере.
Сразу же без проблем получил результат:
Program Memory Usage     :    1910 bytes   23.3 % Full
Data Memory Usage            :    510 bytes   49.8 % Full
Думаю, что этот результат вполне адекватный. Поэтому не стоит, ради каких-то там пол процента памяти ещё возиться с чем-то.
А Вы как думаете?
---
п.с. У меня сейчас стоит версия Microchip Studio (Version 7.0.2542), а у Вас?

Les-Std-03-03-mprj.rar

Изменено пользователем Юрий_Нд
Ссылка на комментарий
Поделиться на другие сайты

@Юрий_Нд

1 час назад, Юрий_Нд сказал:

У меня сейчас стоит версия Microchip Studio (Version 7.0.2542), а у Вас?

Такая же.

Я так понимаю, что в Proteus Вы не пробовали воспроизвести то, что у Вас получилось?

Lcd_print(0,3, FONT_1X,(unsigned char *)PSTR("Hellow"));
Lcd_print(0,4, FONT_1X,(unsigned char *)PSTR("Привет"));

В этих строках ошибка - вместо слов на дисплее будет мусор.

2021-10-13_034847.jpg

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

48 минут назад, gogaze сказал:

в Proteus Вы не пробовали воспроизвести то, что у Вас получилось?

Да вот только что получил результат.
Я так понимаю, до ошибок в уроке мне ещё далеко.
Сейчас для меня актуальна такая вот "бяда".

 

1 - Обменник - 14.png

Les-Prs-03.rar

 

 

Изменено пользователем Юрий_Нд
Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, Юрий_Нд сказал:

А вот я попробую попросить

 серьезно? протез красным по белому грит что ДеэЛЛки  у него нет.
решение вопроса первая ссылка в гугле на котов или вторая на казус

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Юрий_Нд сказал:

Сейчас для меня актуальна такая вот "бяда".

Ну я же скидывал проект в протеусе. Я пользуюсь версией 8.6 SP2. По-моему самый стабильный.

А в своем протеусе сделайте так: запустите  Les-Prs-03.DSN: в библиотеке найдите свой дисплей, вставьте рядом со старым, соедините соответственно выводы дисплея и контроллера, удалите старый

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

У Вас два проекта Proteus и Microchip Studio собраны в одной папке.
Это Ваших рук дело?
Или это Proteus всё собрал в одну папку?

Изменено пользователем Юрий_Нд
Ссылка на комментарий
Поделиться на другие сайты

@Юрий_Нд

Да файл проекта протеуса можно скопировать куда угодно. Можете из моего проекта скопировать в папку своего проекта, запустить и показать контроллеру  hex файл (свой)

Скрытый текст

24aa267c2cc0t.jpg

 

@Alex

5 минут назад, Alex сказал:

в топку Протез

Не согласен. Он прекрасно справляется с такими задачами. А вот когда в протеусе заработает - тогда и железо можно собирать.

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, gogaze сказал:

когда в протеусе заработает - тогда и железо можно собирать.

Золотые слова.
От тебя только могу добавить:"... А кто плату разводить будет? Пушкин? Или простой карандашик, "напару" с резиночкой, на листочке в клеточку?"

----------------------------------------------------------------------------

... не, ну я уже не знаю, что с этим делать.
Наверное, надо спать.

1 - Обменник - 15.png

Les-Unt-03-01.rar

Изменено пользователем Юрий_Нд
Ссылка на комментарий
Поделиться на другие сайты

 

@Юрий_Нд Я строчки в которых ошибка написал. 

8 часов назад, gogaze сказал:

Lcd_prints(0,3, FONT_1X,(unsigned char *)PSTR("Hellow")); Lcd_print(0,4, FONT_1X,(unsigned char *)PSTR("Привет"));

 

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Хотя правильнее бы было пересмотреть часть урока, где Кобзарь говорит про библиотеку и памятку. А еще про разницу print   и prints

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, Юрий_Нд сказал:

... не, ну я уже не знаю, что с этим делать.

У Вас Proteus 8.9 ??? Вот из-за таких косяков в этой версии многие (я в том числе) вернулись на Proteus 8.6 SP2. Попробуй запустить от имени админимтратора.

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, gogaze сказал:

А вот когда в протеусе заработает - тогда и железо можно собирать.

Ну и зачем лишнее звено в этом процессе ? Времени вагон ?

6 часов назад, Юрий_Нд сказал:

А кто плату разводить будет? Пушкин?

А Вы всегда собрались в протезе схемы запускать ? Если да, то вопросов нет.

Ссылка на комментарий
Поделиться на другие сайты

14 часов назад, snn_krs сказал:

У вас включена опция линковщика подключения библиотек для работы с числами с плавающей точкой.

Так в коде дробные числа используются. Искать как это отключается в исходной версии лень, поэтому скажу про свою: с поддержкой дробных 3796. Без нее 2838.

UPD: отчасти это лечится флагами -fdata-sections -ffunction-sections -Wl,--gc-sections.

UPD2: Оказывается, в моем main.c просто использовалось большое количество функций, из-за чего ли6нкер не может их выкинуть. Если привести код к варианту gogaze, размер составляет 1608

6 часов назад, Юрий_Нд сказал:

От тебя только могу добавить:"... А кто плату разводить будет?

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

10 минут назад, Alex сказал:

Ну и зачем лишнее звено в этом процессе ?

В протезе некоторые вещи тестировать проще, чем на железе.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...