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

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


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

Можно вопрос? В Atmel Studio 6.2 вставляю <util/delay.h> и частоту генератора(как все!!) F_CPU 8000000, при отладке выдаёт 2 ошибки, причём в файле "delay.h" в стороке "F_CPU" пишет "проверить выражение до "=" ".. Как это в файле, который создал не я! могут быть ошибки?? Что не так?? И когда сохраняешь проект есть два пункта "Сохранить файл.С" и "сохранить ВСЁ", какой пункт выбирать?? Спасибо!!

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

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

у меня есть дисплей hd2004 библиотека не проканает?

Это часом не знакосинтезирующий на 20 символов и 4 строки? Если так, та библиотека не подойдет совсем, надо искать другую.

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

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

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

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

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

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

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

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

init вроде как зарезервированная С

переназоваите функцию типа init_ports

И на счет делеев - таки да ! если надо дебаг - коментите строки с делеями! А то оно выбрасывает в бибилиотеку делея!

Нельзя ли по-доходчивее про "дилеи"? То есть во время компиляции все строки с "_delay_ms(100)" убирать?? коментить? А чего так7

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

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

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

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

Нашел библиотеку для LCD1602. По умолчанию пины расставлены так:

#define LDP PORTB //define MCU port connected to LCD data pins

#define LCP PORTB //define MCU port connected to LCD control pins

#define LDDR DDRB //define MCU direction register for port connected to LCD data pins

#define LCDR DDRB //define MCU direction register for port connected to LCD control pins

#define LCD_RS 0 //define MCU pin connected to LCD RS

#define LCD_RW 1 //define MCU pin connected to LCD R/W

#define LCD_E 2 //define MCU pin connected to LCD E

#define LCD_D0 0 //define MCU pin connected to LCD D0

#define LCD_D1 1 //define MCU pin connected to LCD D1

#define LCD_D2 2 //define MCU pin connected to LCD D2

#define LCD_D3 3 //define MCU pin connected to LCD D3

#define LCD_D4 4 //define MCU pin connected to LCD D4

#define LCD_D5 5 //define MCU pin connected to LCD D5

#define LCD_D6 6 //define MCU pin connected to LCD D6

#define LCD_D7 7 //define MCU pin connected to LCD D7

в протеусе работает, но, поскольку использую Ардуино - нет портов РВ6 и РВ7 - пытаюсь сделать так:

#define LDP PORTC //define MCU port connected to LCD data pins

#define LCP PORTB //define MCU port connected to LCD control pins

#define LDDR DDRC //define MCU direction register for port connected to LCD data pins

#define LCDR DDRB //define MCU direction register for port connected to LCD control pins

#define LCD_RS 0 //define MCU pin connected to LCD RS

#define LCD_RW 1 //define MCU pin connected to LCD R/W

#define LCD_E 2 //define MCU pin connected to LCD E

#define LCD_D0 4 //define MCU pin connected to LCD D0

#define LCD_D1 5 //define MCU pin connected to LCD D1

#define LCD_D2 6 //define MCU pin connected to LCD D2

#define LCD_D3 7 //define MCU pin connected to LCD D3

#define LCD_D4 0 //define MCU pin connected to LCD D4

#define LCD_D5 1 //define MCU pin connected to LCD D5

#define LCD_D6 2 //define MCU pin connected to LCD D6

#define LCD_D7 3 //define MCU pin connected to LCD D7

и нифига не работает. Почему, подскажите, что не так, пожалуйста.

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

По умолчанию D0 и RS висят на одном порту PB0? Это довольно странно. А дисплей к контроллеру точно подключен правильно?

Можете попробовать мою версию.

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

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

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

Да, так настраивать проще. Для настройки можно даже *.h-файл не трогать, достаточно перед его подключением задефайнить соответствующие ноги.

Такие дисплеи поддерживают 8-битную (по умолчанию) и 4-битную (обычно используется) шину данных. Если указаны все 8 бит данных (D0-D7), значит библиотека как минимум поддерживает 8-битную, значит где-то надо настроить.

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

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

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

Это макросы для удобной адресации портов. Прошу прощения, забыл что они в разных архивах.

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

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

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

Доброго времени! Решил начать изучение программирования контроллеров, скачал и установил софт протэус и студию 7, по рекомендациям автора уроков и сразу столкнулся с проблемой. Студия не видит английскую раскладку клавиатуры, работают только стрелки, таб и enter, при переключении на русскую раскладку все символы печатаются. Кто нибудь знает где копать? Пробовал переустановить, результат тот же.

Win7 64 bit SP1.

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

Поставьте студию 6,2 если глюки будут, то винда виновата. Если нет то пользуйтесь версией 6,2, она от седьмой впринципе не отличается

Не знаеш как? Спроси у Google'а !!!

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

<p>Добрый день! При работе с LCD-индикатором столкнулся с некорректным отображением на экране переменных типа float при выводе с точностью более 2-х знаков после десятичной точки. </p>

<p>

<br />
#define F_CPU 8000000<br />
#include <avr/io.h><br />
#include <util/delay.h><br />
#include "n5110.h"<br />
//#include <stdlib.h></p>
<p>void preset()<br />
{<br />
Lcd_init(); //инициализация дисплея<br />
Lcd_clear(); // очистка дисплея<br />
Lcd_update();<br />
}</p>
<p><br />
int main(void)<br />
{<br />
preset();<br />
<br />
float dig=-35.123456;</p>
<p>while(1)<br />
<br />
{<br />
Lcd_printf(0,0,FONT_1X,dig,1);<br />
Lcd_printf(0,1,FONT_1X,dig,2);<br />
Lcd_printf(0,2,FONT_1X,dig,3);<br />
Lcd_printf(0,3,FONT_1X,dig,4);<br />
Lcd_printf(0,4,FONT_1X,dig,5);<br />
Lcd_printf(0,5,FONT_1X,dig,6);<br />
Lcd_update();<br />
} <br />
<br />
}<br />

</p>

<p>Вот что показывает ПРОТЕУС при отображении числа -35,123456 с различной точностью. В чем может быть проблема?:</p>

<p><img alt="" src="176598716601t.jpg" /></p>

<p> </p>

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

Alex

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

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

Спасибо, до 82-й страницы не дочитал.

Подключил библиотеку LDC5110_test от ALEX. Проблема с количеством чисел после "точки" дейстивтельной исчезла, но наткнулся на отсуствия нуля в первом разряде в отрицательных числах больше -1. И еще заметил, что точка остается даже когда указываем нулевое количеств разрядов.post-197281-0-49285800-1452607672.jpg

post-197281-0-25337800-1452607871.jpg

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

Покажите, из какого поста брали библиотеку.

Приложите сюда весь проект (вместе с протеусом) в архиве.

DmitryS, хорошо, сделаем.

И ещё, поищите дальше, есть вариант от COKPOWEHEU. У него, на сколько помню, реализация немного другая.

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

Исправил в библиотеке проблему с выводом больших float-чисел.

Также, чтобы народ не мучился с ногами, полностью перевёл SPI на программный. Теперь выводы для дисплея можно вешать на любые ноги МК, не привязывая их к одному порту.

Порты назначаются в n5110.h.

В архиве проект студии с библиотекой и пример с протеусом:

LCD_5110_test.rar

пост #1724 Опубликовано 08 Декабрь 2015 - 12:35 от Alex

Во вложении проект протеуса.

5110_TEST.rar

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

Да, действительно, если отрицательное значение больше -1, то "0" не выводится.

Как появится время - поразбираюсь.

Спасибо.

заметил, что точка остается даже когда указываем нулевое количеств разрядов
А зачем тогда выводить float ? :)
Ссылка на комментарий
Поделиться на другие сайты

заметил, что точка остается даже когда указываем нулевое количеств разрядов
А зачем тогда выводить float ? :)

Приходится int выводить как float через Lcd_printf. Так как функции вывода целочисленных типов в библиотеке 5110 нет.

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

функции вывода целочисленных типов в библиотеке 5110 нет.
Да, действительно. А мне и ни к чему. Правил только вывод с плавающей точкой. Интересно, почему автор её не добавил. В то время, когда с плавающей точкой - сделал...

Кстати, т.к. мы находимся в "учебном заведении" (тема то про уроки) - попробуйте, в качестве ДЗ, создать функцию вывода целочисленных значений. А мы её потом добавим в библиотеку :)

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

у меня вообще кошмарный случай - приходится использовать float для побитового отображения байтов в двоичном виде для вывода на LCD данный полученых от DS18B20 по 1-Wire . С одной стороны ограничен возможностями библиотеки 5110, с другой библиотекой 1-Wire. В итоге получается ФРАНКЕНШНЕЙН. Пока что задачек больше, чем решений. Есть еще парочка "гвоздей" - при выводе чисел на LCD5110 в 16-ричном виде буквы A,B,C,D,E и F отображаются прописными, а не заглавными буквами, при выводе чисел в двоичном виде отображение идет задом наперед - т.е. младший байт становится старшим и наоборот.

Изменено пользователем Sashka1980
Цитата предыдущего сообщения
Ссылка на комментарий
Поделиться на другие сайты

Ребята. Я конечно рад что вы решили оптимизировать и довести до ума ту библиотеку что я выложил для новичков....

Но по сути - эта тема именно для новичков создавалась. И Либы в том виде котором она была со всеми своими условностями = достаточно с головой.

А по сути - вы наплодили 6 листов топиков в обсуждении которые для начинающих - равносильно заклинанию призыва сатаны.... Выдали людям не проверенную и не до конца рабочую библиотеку - что явно не говорит в пользу вашего професонализма. Если уже меняете что-то так пусть оно работает. Создайте отдельную тему по либе и пилите ее там...

А то пришел человек учиться - грит чото не получается - ему : - Возьми в таком то посте другую либу - он взял а там свои тараканы ...

И что человек скажет? Ну вас нафиг с вашим театром....

Не забывайте пожалуйста об изначальной теме темы :)

коплю на мечту - Днепр К750

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

Говорит человек, в чьей библиотеке невозможен вывод чисел больше 32767 (независимо от точки), причем это не задокументировано.

Лучше бы взяли готовые варианты (от Alex'a вывод чисел с плавающей точкой, только ее починить немного надо), от меня чисел с фиксированной точкой (в том числе, целых). Добавили их в библиотеку, а ее в 1 пост, чтобы новички не пугались. Ну и, конечно, добавить комментарии, чтобы было проще исправлять ошибки.

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

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

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

Выдали людям не проверенную и не до конца рабочую библиотеку - что явно не говорит в пользу вашего професонализма.
Я так понимаю, это Вы про себя сейчас говорите ? :)

Мы то хоть как, но пытаемся устранить Ваши косяки. А Вы ушли под дно и @бись оно отвались...

Да, и разрешите поинтересоваться. В чём неработоспособность исправленной нами библиотеке ?

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

А может, это хитрый план, чтобы вы, Alex, глубже ушли в AVR, исправляя библиотеку? ;-)

Неработоспособность-то понятно в чем, парой постов выше она сфотографирована. А вот в моем варианте ошибок пока не нашли. Наверное, потому что не пользовались.

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

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

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

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

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

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

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

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

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

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

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

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

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

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