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

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


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

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

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

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

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

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

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

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

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

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

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

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

дорогой учитель, сенсей, будет ли описана работа с датчиком DS18B20? уж очень хочется пригвоздить его к 5110. все праздники сижу по крохам вникаю в информацию, мамка на улицу выгоняет, а я ещё мало чего понял. может есть библиотека для студии 6.2 ? спасибо.

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

Данный курс - предоставил вам более чем достаточно данных для того что бы начать программировать для АВР.

Если по окончанию курса вы не смогли самостоятельно найти готовую библиотеку для DS18B20 и вывести значение -----......

Либо пройдите курс еще раз(выполняя домашние задания)

либо найдите другой учебный материал :)

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

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

Всем привет. Кто подскажет, почему при повторении примера из урока 5 компилятор ругается на int в условии if? Все работает если сделать так:

int main(void)

{

preset();

int i=0;

while(1)

{

if (i<=7)

{

PORTB = (1<<i);

_delay_ms(500); i++;

}

else

{PORTB = 0x00; i=0;}

}

}

Я понимаю, что надо брать учебник и читать, но у автора то все работает.

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

не совсем понятно как у вас работает и как - нет!

напишите оба кода с указанием строки с ошибкой!

и пожалуйста - код запихните в тег кода - что бы красиво было

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

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

Всем приветик

подскажите пож.,в варианте когда все светодиоды расположены на

выводах одного порта все понятно .А как корректно присвоить светодиодам

от 0 до 7 в варианте когда они подключены не по порядку одного

порта,например:

#define SEG_A PD2 0

#define SEG_B PD6 1

#define SEG_C PB7 2

#define SEG_D PB2 3 и т.д

извиняюсь за "тугое" написание .

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

Вы задаете вопросы, понятны только вам. Несколько раз читал ваш вопрос, и каждый раз представлял иную картину. Вы просто иллюзионист!

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

извиняюсь за изложение,

ну можно ли одновременно присвоить и номер порта

и порядковый номер от 0 до 7.

с таким вариантом присвоения понятно ,внутри одного порта

#define PORT_IND PORTB

#define DDR_IND DDRB

#define SEG_A 0

#define SEG_B 1

#define SEG_C 2 и т.д.,

а мой печальный случай , см. выше

если светодиоды не в поле одного порта,как их привязать и к порту и

к последовательности от 0 до 7 .

Просто есть в железе плата,но светодиоды в ней впаяны в разных портах,

ну на край порежу плату.

еще раз сори-))

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

А как это интересно одной и той же величине можно присвоить два разных значения? Можно сделать так

#define SEG_A  PD0

или так

#define SEG_A  0

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

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

ммм...если так уж умен,что делаешь здесь,а наверно случайно-)))

Не порите чушь. Вычислить остаток от деления 22 на 7 сможет любой пятиклашка в уме и без труда.
Ссылка на комментарий
Поделиться на другие сайты

Определить в одном макросе и порт и его номер возможно, но неочевидно. Надо либо хорошо знать особенности препроцессора Си, либо использовать чужое бездумно. Первый вариант, очевидно, предпочтителен.

#define SEG_A B,0
#define _set_seg(a, PORT##a |= (1<<
#define _clr_seg(a, PORT##a &=~(1<<
#define set_seg(x) _set_seg(x)
#define clr_seg(x) _clr_seg(x)

set_port(SEG_A);

Примерно так. На самом деле, стоит сделать более универсальные макросы, эти только для примера годятся. Проверил, компилируется, дизассемблерный листинг тоже похож на правду.

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

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

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

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

На самом деле ничего сложного нет, но надо ПОНИМАТЬ принцип работы препроцессора и его команды. В данном случае используется в основном ## - объединение строк. Конструкция PORTB |= (1<<x) / PORTB &=~(1<<x) должна быть и так знакома, благо стандартная.

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

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

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

]Не порите чушь. Вычислить остаток от деления 22 на 7 сможет любой пятиклашка в уме и без труда.

А я не понимаю как происходит действие такого вычисления. Я не могу найти даже информацию об этом. Не будем говорить как я учился в школе

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

а что тут понимать, в МК где нет аппаратного деления просто вычитается 7 от 22 столько раз, пока результат не станет меньше 7. вот это и есть отстаток.

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

А я не понимаю как происходит действие такого вычисления.

А причём тут как вычисляется ? Вы об этом не спрашивали.

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

А вычисляется для всех по-разному. Как захотите, так и будет вычисляться.

у меня другие вопросы
Ну и молчали бы тогда, раз другие вопросы. Нех на мои посты отвечать.
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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

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

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