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

Помогите студенту-чайнику по МК


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

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

ELF (англ. Executable and Linkable Format — формат исполнимых и компонуемых файлов) — формат двоичных файлов, используемый во многих современных UNIX-подобных операционных системах, таких как FreeBSD, Linux, Solaris и др. Также этот формат используется и во многих других системах.

Это выходной файл, генерируемый avr-gcc, компилятором Студии. После gcc он проходит через objcopy для перекодировки в ihex, пригодный для контроллеров; и через objdump для перекодировки в *.lss - ассемблерный код (если включена отладка, то даже с комментариями).

Попробуйте собрать вручную, на каком этапе возникает ошибка. Жаль, makefile после AVRStudio стал менее читаемым, но можно обойтись и без него.

avr-gcc -Os -DF_CPU=1000000 -mmcu=atmega8 -c source1.c
avr-gcc -Os -DF_CPU=1000000 -mmcu=atmega8 -c source2.c
avr-gcc -mmcu=atmega8 source1.o source2.o -o firmware.elf
avr-objcopy -O ihex firmware.elf firmware.hex

либо, если исходник всего один,

avr-gcc -Os -DF_CPU=1000000 -mmcu=atmega8 source.c -o firmware.elf
avr-objcopy -O ihex firmware.elf firmware.hex

source.c, source1.c, source2.c - файлы исходных кодов, замените на свои

-Os - оптимизация, в данном случае по размеру. В принципе, для проверки не особо нужна, можно отключить

-DF_CPU=<freq> - тактовая частота контроллера. Используется в <util/delay.h> и где-то еще. Опять можно не указывать, но если указываете - указывайте в герцах.

-c - флаг для gcc, заставляющий генерировать не исполняемый файл сразу, а только объектный, пригодный для дальнейшей сборки с другими такими же в готовую программу.

firmware.elf - выходной исполняемый файл. Вот только стандартный для Си и прочего unix'а, но не для контроллера, поэтому последней командой переводим в "контроллерный" формат

.

Другой вариант - посмотреть где Студия хранит свой makefile (возможно, это директория ./Debug) и поставьте перед каждым этапом вывод отладочной информации в консоль - echo '1' хотя бы.

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

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

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

  • 4 месяца спустя...

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

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

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

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

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

Привет народ. Я плаваю в данной теме, но горю огромным желанием разобраться. Мне дали задание собрать следующую схему: usb-МК-два выхода с сухими контактами (для простоты я решил использовать просто на выходе два диода)

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

В магазине при покупке продавец подсказал сделать вот такую схему.

post-201181-0-69571400-1463421840_thumb.jpg

Как это все можно сделать?

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

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

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

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

Как это все можно сделать?

Что сделать ? Эту схему ? Да как угодно - хоть навесом, хоть на макетной плате, хоть на печатной, ...

Далее заливаете туда прошивку и радуетесь жизни. Прошивку берём там, где брали схему.

PS: Вы так на всех подряд форумах будете постить и не отвечать в свои темы ? http://radiokot.ru/forum/viewtopic.php?p=2756432#p2756432

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

Как это все можно сделать?

Что сделать ? Эту схему ? Да как угодно - хоть навесом, хоть на макетной плате, хоть на печатной, ...

Далее заливаете туда прошивку и радуетесь жизни. Прошивку берём там, где брали схему.

PS: Вы так на всех подряд форумах будете постить и не отвечать в свои темы ? http://radiokot.ru/f...756432#p2756432

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

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

Пробовал подключить схему к ПК, естественно определяется как неизвестное устройство. И еще удивительно горячим становится МК, норма ли это?

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

yqxzi3efb.jpg

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

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

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

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

А как определить жив ли еще МК? и скажите пжл, что неправильно в схеме (пост #653)? ведь я спаял точно как на ней.yqxzj2u47.jpg

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

спалили.

Совсем не обязательно. Был опыт даже с тем самым дымом. Неправда, транзисторы работают не на нем. Во всяком случае те, которые в мк. Жив-здоров оказался.

Я не раздаю удочки. Я продаю рыбу.

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

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

А как определить жив ли еще МК? и скажите пжл, что неправильно в схеме (пост #653)? ведь я спаял точно как на ней.yqxzj2u47.jpg

Эта х*ень скорее всего вообще не заработает корректно , хоть если даже и прошивка такая будет :)

У этого МК плохой внутренний генератор , и помоему максимум от него можно получить 9.6МГц , а для ЮЭСБИ надо 12МГц , если память мне не изменяет . И даже в этого МК памяти не хватит чтобы обслужить USB. Хватит памяти :)

В общем , советую эту схему не использовать.

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

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

У него есть PLL на 16 МГц, то есть для usb вполне подходит, плюс синхронизация с компьютером. Вроде там так и делается. Я делал подобную схему, usbtinyisp или как-то так, вроде работало, но на больших объемах данных отваливалось.

С нормальным vusb на atmega8 и других более-менее мощных контроллерах и кварце проблем не возникало никаких.

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

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

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

Вы не знаете как прошить МК а лезете в "высшую материю". Возможно вы хотите чтобы за вас решили эту задачу. Но так не будет.

Так что решайте.... либо копаете с нуля либо забываете этот проект.

Скажу сразу чтобы не было иллюзий. Проект ОЧЕНЬ простой! Но чтобы его сделать нужен приличный багаж знаний!

По проекту. На attiny85 можно реализовать. НО много заморочек с внутреннем тактированием. Я советую использовать МК attiny2313. И кварц есть и настраивать его не надо.

Также изучайте материал по USB. (Можете посмотреть мои темы там есть ссылки на материалы). А если не знаете программирование то сперва стоит начать с него.

Для всех остальных. Есть хороший пример USB HID устройства для attiny85. В нём можно как раз подсмотреть настройку attiny85 для внутреннего тактирования. http://blog.flipwork...2605;comments:1

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

Вы не знаете как прошить МК а лезете в "высшую материю". Возможно вы хотите чтобы за вас решили эту задачу. Но так не будет.

Так что решайте.... либо копаете с нуля либо забываете этот проект.

Скажу сразу чтобы не было иллюзий. Проект ОЧЕНЬ простой! Но чтобы его сделать нужен приличный багаж знаний!

По проекту. На attiny85 можно реализовать. НО много заморочек с внутреннем тактированием. Я советую использовать МК attiny2313. И кварц есть и настраивать его не надо.

Также изучайте материал по USB. (Можете посмотреть мои темы там есть ссылки на материалы). А если не знаете программирование то сперва стоит начать с него.

Для всех остальных. Есть хороший пример USB HID устройства для attiny85. В нём можно как раз подсмотреть настройку attiny85 для внутреннего тактирования. http://blog.flipwork...2605;comments:1

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

Так как не понятно, что с жизнедеятельностью МК, я приобрел digispark и теперь буду пытаться на нем сконструировать данную задачу. Если у кого-то есть подобные примеры программы для МК и ПК буду признателен. (задача - необходимо непосредственно с ПК управлять питанием выходов с МК (допустим зажигать светодиод) по средствам нажатия двух кнопок для двух светодиодов)

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

Начните с более простой задачи . Для вас еще эта задача будет непосильной.

Проще уж изучать stm32fxxx в связке с cube mx. Данная задача будет делом одного вечера .

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

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

Artos5 прав! Вы попробуйте лампочкой поморгать! С кнопками поработать. Увидите как это не просто если нет знаний. А вы сразу в USB хотите погрузиться.

Лично я потратил очень много времени чтобы хоть что то понять в этой теме и что там сделать.... Исходя из своего опыта могу сказать только что людей которые хоть чуть чуть знают о теме USB практически нет. А те что есть думаю и не сидят на этом форуме.

Для более менее быстрого входа в суть проблемы попробуйте для начала по повторять некоторый простые проекты других людей. С разборкой кода программы. Посмотрите видео о МК. https://www.youtube.com/channel/UCczziZl2-kvBUhzX9awdNEA

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

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

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

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

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

Да с этим я разобрался и уже во всю мигаю диодом посылая на него 1 и 0. Но теперь придерживаюсь следующей логики. Если терминал ардуины может посылая на порт 1 и 0 включать диод. То скорее всего это может делать и командная строка. След. если написать программу на C++, которая будет путем нажатия на единственную кнопку посылать как и cmd 1 и 0 на порт.

И в данный момент пытаюсь разобраться с этим. Если кто может с этим помочь разобраться отпишитесь пжл.

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

Мне кажется командная строка вообще другая степь. Тебе надо писать уже оконное приложения для ПК. И в окне реализовывать выбор COM портов (Если не известен, какой порт присвоен устройству) и кнопку “Подключения”. Логика во всё этом деле простая. Открываешь приложение – выбираешь порт – нажимаешь кнопку подключение. Если подключение удачное, то становятся активными кнопками управления светодиодом. Я к сожалению не программировал на C++ и подсказать не могу. Я писал на C# и просто скопировал откуда-то код подключения. Думаю тебе тоже надо посмотреть примеры приложений..

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

Проверяется ветка HKLM\HARDWARE\DEVICEMAP\SERIALCOMM. В ней указываются, доступные на данный момент, последовательные порты. Достаточно занести их в список и проверить на подключение. Или там же выбрать нужный порт по описанию подключения (если используется конкретный виртуальный порт).

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

  • 1 месяц спустя...

Доброго времени суток! Помогите сделать так, чтобы по истечению определенного времени (пусть 10 сек) после нажатия кнопки отключался дисплей, ну или просто исчезала надпись. Буду очень признателен.

For button.rar

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

  • 4 недели спустя...

Хочется вытащить 4 МГц из PIC10F200, а как не знаю. Ну хотя бы 2 МГц. Говорят надо рисовать программу вывода, а я могу только шить. Может быть кто подскажет как.

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

Хочется вытащить 4 МГц из PIC10F200, а как не знаю.

и не узнаешь... и не вытащишь , на выходе можно получить максимум 1Мгц

скармливаешь МПЛАБу код:

;**********************************************************************
   list	  p=10F200		    ; list directive to define processor
   #include <p10F200.inc>	    ; processor specific variable definitions

   __CONFIG   _MCLRE_OFF & _CP_OFF & _WDT_OFF

;**********************************************************************
   ORG	 0xFF			 ; processor reset vector

; Internal RC calibration value is placed at location 0xFF by Microchip
; as a movlw k, where the k is a literal value.

   ORG	 0x000			 ; coding begins here
   iorlw 1
   movwf   OSCCAL		    ; update register with factory cal value

start   
   nop					 
   goto start

   END					

получаешь хекс, заливаешь в МК и получаешь на 4выводе 1МГц

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

Понял. спасибо.

Прецизионный внутренний генератор 4МГц с точностью ±1%; а время исполнения инструкции 1мкс ( а это 1МГц). А я где-то читал что частота тактирования вдвое меньше частоты генератора, поэтому и решил что можно вытащить 2 МГц.

И еще вопрос.

Меняя калибр. число (программно) можно менять частоту на 4-й ножке аж в два раза,

т.е. получится свип-генератор от 0,5МГц до 1МГц. это верно?

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

получаешь хекс, заливаешь в МК и получаешь на 4выводе 1МГц

Сделал , получилось. Менял калибр. число, и частота менялась более чем в два раза (от 560кгц до 1200кгц).

Вот бы программно запустить этот процесс, чтобы бесконечно все это скакало.

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

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

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

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

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

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

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

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

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

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

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

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