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

Вопросы от начинающих по МК


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

Может запретить прерывание перед передачей значения в функцию, а потом в самой функции разрешить?

Даже и не думай так делать! Очень, очень вредная привычка.

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

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

  • Ответов 8,9т
  • Создана
  • Последний ответ

Топ авторов темы

вам сказали запретить при копировании переменных, а не при вызове функции , что вполне логично, запрещать прерывания на N маш.циклов выполнения функции глупо

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

вам сказали запретить при копировании переменных, а не при вызове функции , что вполне логично, запрещать прерывания на N маш.циклов выполнения функции глупо

Каким образом? как в СИ это делать? Дайте пример. Ведь копирование происходит при вызове функции.
Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

volatile int ext_val;
...
int main(){
 init();
 while(1){
   int int_val;

   cli();
   int_val = ext_val;
   sei();
   func(int_val);
 }
}

Например, так.

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

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

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

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

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

volatile int ext_val;
...
int main(){
init();
while(1){
int int_val;

cli();
int_val = ext_val;
sei();
func(int_val);
}
}

Например, так.

Вот теперь все стало на свои места. Паника прошла :heat: . Спасибо всем за свет в конце туннеля!
Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

т.е. еще одна линия Vcc подводится к нему и там 3 резистора 2 транзистора . или Vcc к нему не подводится а питается он от шины но тогда какая схема разводки будет у второго мк ?

для низкой скорости не важно...

вопрос не в важности а как схема выглядеть будет то ? :)

для первого мы подаем питание оно же и шина а для воторого если оставляем только шину как питание будет реализовывоться ?

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

Если второй МК питается по шине, то собственно по шине оно и будет туда поступать. Только надо будет развязать по переменному току - чтобы переменная составляющая не поступала на питание контроллера. С этим хорошо справляются диод и конденсатор.

Учение - изучение правил. Опыт - изучение исключений.

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

так как будет выглядеть обвязка на втором мк... на первом она с учетом +5 линии на втором ее не будет... а два транзистора на первом расчитанны на +5 внешнию... как будет выглядеть развязка на втором ?

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

Он для той темы, в Вашем случае не нужен :) (если речь о диоде, параллельном КЭ транзистора).

Я лишь хотел показать схему организации фантомного питания. Вы ведь этого хотели?

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

Не, люди совсем перестали пользоваться поиском. Деградация...

Мне понадобилось около 15-20 секунд, чтобы найти ответ на этот вопрос.

https://www.yandex.r...&lr=2&clid=9582

http://forum.easyele...ic.php?p=255113

Список поддерживаемых AVR микроконтроллеров:

USBASP Программатор AVR поддерживает все микроконтроллеры ATMEL с режимом последовательного программирования ISP (In System Programming):

ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861

AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535

ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325, ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535

AT90CAN32, AT90CAN64, AT90CAN128

AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B

AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647

Неужели это так трудно сделать самому ? Писать сообщение на форуме в разы дольше ! :wall:

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

Здравствуйте!!!

Вопрос в студию...

сейчас разбираюсь с МК программированием в атмел студио

пришел к памяти eeprom... загвоздка получилась

набрал программу ( запись в eeprom), компилировал (в атмел), запустил на трассировку (в атмеле)

прога вроде работает (в регистры пишет, меняет там все что надо), только вот в eeprom не видно записанных данных (если открыть memory eeprom) - там ничего не меняется...

непонятно, либо данная вещь не работает в симуляторе, либо я в проге что-то напутал..

и еще одна непонятка...

разбирался с прерываниями, (таблица, переходы)... для атмеги8 в атмел студио

для примера установил переход по первому вектору (INT1 внешнее 1)

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

попытки сводились к ручной установке необходимых флагов в МК (проге - симуляторе) в процессе работы фоновой программы (цикл пустой - nop)

закралось ощущение, что прерывание (внешнее) ссимулировать в проге нельзя

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

Кусок, отвечающий за запись:

....

ldi r21, 10 ; организация цикла записи (10 байт)

ldi r22, startdata ; данные (любой байт)

eeromwrite: sbic eecr, eewe (ждать окончание предыдущей записи,, если была...)

rjmp eeromwrite

cli

sts eedr, r22 ;запись байта в регистр данных (3D)

sbi eecr, eemwe ; установим бит разрешения записи

sbi eecr, eewe ;и бит записи

inc r30 ;далее цикл просто проверить

inc r22

dec r21

brne eeromwrite

sei

не пишет в памяти EEPROM (в прогремме не видно записанных данных (СТУДИО симулятор)

отладка и трассировка ОК в проге???

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

С даташитом сравнивали?

Assembly Code Example
EEPROM_write:
; Wait for completion of previous write
sbic EECR,EEPE
rjmp EEPROM_write
; Set up address (r18:r17) in address register
out EEARH, r18
out EEARL, r17
; Write data (r16) to Data Register
out EEDR,r16
; Write logical one to EEMPE
sbi EECR,EEMPE
; Start eeprom write by setting EEPE
sbi EECR,EEPE
ret

Никогда не спорьте с дураком - люди могут не заметить между вами разницы

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

Всем привет. Есть необходимость научиться прошивать ПИКи, через MPLAb ide. Я никогда этим не занимался, не программист, в электронике разбираюсь немного, с цифровыми схемами знаком, но на начальном уровне.

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

Работа в программе интуитивно непонятна, если брать проект - например вот в этой теме: http://forum.cxem.ne...opic=138303&hl=

самое первое сообщение, файл Project1.rar - там больше десятка файлов, с разными расширениями, для чего каждый из них нужен? К тому же в каждом - разная инфа, как тут вообще прошивать микросхемы?? :help:

Подскажите пожалста кто что знает, последовательность действий, от создания проекта(уже готового) до прошивания контроллера, как открыть проект - как изменить какие-то данные, (например чтобы светодиод не 3 раза моргал, а 5) - как скомпилировать его ( через HI-TECH PICC-18 или MPLab C18? и почему именно так?) - как проверить на ошибки(это вроде отладка) - и потом сделать из него хекс - и прошить в этом же МПлабе.

Извиняюсь если слишком сложно, это наверное в вузах проходят при изучении цыфровых устройств, - но наверняка можно этому научиться и без вышки. Желание есть. Это главное, как говорят.

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

во-первых мплаб ничего не прошивает, прошивает программатор,

мплаб это только среда разработки

во-вторых у вас должен быть установлен компилятор соответствующий готовому проекту

и в-третьих учатся писать программы начинают на пик16 или 12 , 18серия требует знаний намного выше начального

и самое главное усердное изучение даташитов на используемый МК

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

В принципе тема про AVR, и они вроде как лучше для новичков.

Для начала надо найти толковую книжку/пособие, по AVR подсказать могу, по пикам не знаю..

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

в каком месте эта тема стала про AVR?

чем оные лучше пиков для новичков? наличием свыше ста команд процессора против 35ти для пиков при том же функционале?

или разным временем выполнения разных команд против фиксированного времени выполнения в пиках

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

Больше команд - гибче язык.

В Пиках тоже есть команды, не однозначные по времени выполнения. А если учесть, что для разных подсемейств существуют разные наборы команд, то это вообще жесть.

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

Насчёт темы про AVR ошибся)

То что AVR лучше для новичков, это мнение некоторых профессионалов, которому я доверился)

Как я понимаю, у AVR-ок более универсальная периферия на разных моделях МК и они менее замороченные в программировании.

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

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

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

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

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

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

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

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

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

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

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

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