Микроконтроллеры AVR - применение и Краткий Курс - часть 10

 
1 5 6 7 8 9 38
+
-
edit
 

Piroman
Ignis Caelum

опытный

Дык, согласен со всем выше сказанным.

1. Писать прооекты на Си проще.
2. Большой проект на асме не напишеь (ну сложо). а большой проект - большой камень, значит ресурсов должно хватить.
3. при некоммерческом проектировании проще взять больший камень, чем пытаться "впыхнуть невпыхуемое".
4. Надо знать асм для данного проца => сделть 1-2 тестовых проекта, чтобы понять что к чему.

то Хан.
Уважаемый, т.к. Вы зарабатываете программированием МК, посоветуйте, пожалуйста, на какие операционки следует обратить внимание. С хорошим реалтаймом, портированные на Атмел, бесплатные (условно бесплатные или совсем условно ;) )
Лучше быть оптимистом и ошибаться, чем пессимистом, который всегда прав.  6.06.0
+
-
edit
 

Xan

координатор

Piroman> то Хан.

Ксан, от слова AleXANder.

Piroman> на какие операционки следует обратить внимание. С хорошим реалтаймом, портированные на Атмел, бесплатные (условно бесплатные или совсем условно ;) )

Я начинал во времена i8080, на нём была сделана операционка с переключателем задач (с приоритетами), с драйверами разных железок.
Потом перешёл на пики (pic16).
Там нельзя залезть в стек и поэтому переключатель задач вырождается в "хоровод" - каждую задачу надо писать как часто и ненадолго вызываемую подпрограмму. Что, конечно, несколько неудобно.
Сейчас думаю перейти на pic18 и, возможно, опять написать для себя операционку с нормальным переключателем. Но пока не.

Про AVR не знаю. В те далёкие времена только у microchip была приличная документация и инструменты. Другие фирмы (и атмел) вели себя так, будто им продавать МК не интересно. Ну я так на пиках и остался.

Операционки временами обсуждаются вон там:

Телесистемы - миниатюрные аудио и видео устройства

Телесистемы - миниатюрные аудио и видео устройства

// www.telesys.ru
 

и вон там:

Микроконтроллеры

Российская электроника : cообщество профессионалов caxapa.ru : Микроконтроллеры

// caxapa.ru
 

То, что я видел, они были для более старших МК. Ну и там были семафоры, ящики, загрузка и запуск задач, и т.д., как у "взрослых". Для простых домашних поделок несколько лишнее, имхо.
 6.06.0
+
-
edit
 

pokos

аксакал

termostat> А для новичков опять не хорошо. Когда оптимизация ЯРОСТНАЯ то половины исходника на Си не видно при отладке - так как он выкинут.
Просто надо обучить начинающего отключать оптимизацию.
 6.06.0
CA pokos #13.10.2008 16:59  @Ignis Caelum#13.10.2008 13:02
+
-
edit
 

pokos

аксакал

Piroman> ....на какие операционки следует обратить внимание. С хорошим реалтаймом, портированные на Атмел, бесплатные (условно бесплатные или совсем условно ;) )
Хоть вопрос и не ко мне...
Такого добра наплодили уже изрядно. Дам ещё ссылку на место общения заинтересованных лиц:
 6.06.0

Lioxa

втянувшийся
VMLAB 3.14 невидит изменения в CodeVisionAVR V2.03.4 проэктах. Думал может мои проэкты глючаат, взял заготовку 6810193.rar , тоже самое Меняешь код в CodeVisionAVR а VMLAB фиолетово.

P.S.
С старым CodeVisionAVR 1,25,9 работает нормально.
 3.0.33.0.3
Это сообщение редактировалось 14.10.2008 в 15:57
RU repository #14.10.2008 14:57
+
-
edit
 

repository

новичок
НУ да, для прикладного программирования контроллеров лучше С сложно придумать...
Сам программер, но возится с АСМОМ раз в полгода это мазохизм.
Значние же Си не улетучивается, даже наоборот отличная площадка для легкого усвоения потом Java или там PHP... С++ и тп.
Это как кататься на велике. В один момент чтото щелкнет и сразу все проясняется. И уже навсегда.
Так что если есть интерес - то имхо весьма разумно попрактиковаться в С:)
Тем более если душа требует креатива:)
В теории между теорией и практикой нет никакой разницы , но на практике она есть.  6.06.0
+
-
edit
 
UA Non-conformist #20.10.2008 20:00
+
-
edit
 

Non-conformist

аксакал

По-моему нашел я охренительный сайтик. Может, кто ще не бачив: Преподавание, наука и жизнь: сайт Константина Полякова Как раз для таких деятелей, как я. С обучающими программами для средней школы. Скачал, погонял черепашек-роботов - прикольно. Чувствуется, товарищ в методике шарит...
Skype: a_schabanow  

GOGI

координатор
★★★★
А есть какой-нибудь недорогой инструмент под DebugWire? А то на 13 тиньке под программирование 4 ноги выделять жалко, да и питание часто безтрансформаторное.
1  3.0.33.0.3
RU termostat #05.11.2008 19:26
+
-
edit
 
RU Piroman #06.11.2008 11:24  @termostat#05.11.2008 19:26
+
-
edit
 

Piroman
Ignis Caelum

опытный

termostat> Proteus v7.4 SP3 Pro DEMO без лекарства
termostat> roboforum.ru/viewtopic.php?f=2&t=2398

ждем полную с лекарством. :)
спасибо
Лучше быть оптимистом и ошибаться, чем пессимистом, который всегда прав.  6.06.0
RU termostat #06.11.2008 20:09
+
-
edit
 

termostat

аксакал

PROTEUS 7.4 sp3 ПРОФ !!! версия ИСЦЕЛЕНА сегодня.

скачать там
roboforum.ru/viewtopic.php?f=2&t=2398

целебное дело - там
kazus.ru/forum/topic_13350-200.html
Это сообщение редактировалось 25.11.2008 в 08:01
RU termostat #23.11.2008 12:43
+
-
edit
 

termostat

аксакал

в CVAVR 2 имя файла исходного кода на Си не изменяется. А файл прошивки .hex и файл с отладочной информацией .cof получают имя как у файла проекта CVAVR 2 .prj

Для отладки по исходному коду на Си в симуляторах нужно использовать файл с названием:
имя_вашего_файла_проекта_CVAVR2.cof

а прошивка для МК будет назыаться:
имя_вашего_файла_проекта_CVAVR2.hex

========= Если проект был создан мастером кода CVAVR 2 то в папке проекта появляется несколько новых папок. В папке Exe создается прошивка для МК - имя_вашего_файла_проекта_CVAVR2.hex
В папке List появляются файлы программы на ассемблере .asm и файл листинга .lst
Другие 2 папки Linker и Obj "чайнику" мало интересны.

Но для VMLAB нужно что бы прошивка была в папке проекта - поэтому в настройе проекта в CVAVR 2 - меню "Configure Project" нужно в ярлыке "Output Directories" убрать Exe и нажать "ОК" - теперь прошивка .hex будет в папке поекта.

В прицепе 3 варианта проекта с зашлавной страницы курса по AVR - для CVAVR и CVAVR2
Прикреплённые файлы:
 
Это сообщение редактировалось 23.11.2008 в 13:29

GOGI

координатор
★★★★
Всегда как-то легко относился к ЭМС, поскольку на практике не сталкивался, а вот тут надо стало ШИМом 220 порегулировать, так от у проводника от кнопки подтяжку к плюсу питания пришлось делать 500 Ом, чтобы нормально работало, при 2 кОм уже ловило помехи и глючило. А ведь обычно ставлю 100 кОм или вообще внутреннюю подтяжку использую и все нормально. Как только не приходится извращаться, чтобы от батареек питание подольше сделать (полевик на переменке вместо симистора :-) )
1  3.0.43.0.4

Serge77

модератор

GOGI> от батареек питание подольше сделать

А зачем батарейки, когда у тебя есть 220?

GOGI

координатор
★★★★
GOGI>> от батареек питание подольше сделать
Serge77> А зачем батарейки, когда у тебя есть 220?
У меня три тиньки 13 погорело из-за сгоревших стабилитронов. Плюнул и поставил батарейки :-)
1  3.0.43.0.4
+
-
edit
 

Serge77

модератор

Вопрос по работе в VMLab.

Контроллер передаёт данные во флеш, после передачи байта ждёт бит подтверждения:

ACKT:
sbic PINB,SDA
rjmp ACKT ;ожидание бита подтверждения

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

Piroman
Ignis Caelum

опытный

для отладки я вставляю макросы.
которые опросы таких битов подменяют на другие операции (nop)
например
#define debug_flash
....

#ifdef debug_flash
nop
#else
ACKT:
sbic PINB,SDA
rjmp ACKT ;ожидание бита подтверждения
#endif

отлаживаю,

а при компиляции для прошивки коментарю объявление debug_flash
Лучше быть оптимистом и ошибаться, чем пессимистом, который всегда прав.  6.06.0
UA Serge77 #19.01.2009 15:59  @Ignis Caelum#19.01.2009 15:44
+
-
edit
 

Serge77

модератор

Piroman> для отладки я вставляю макросы.
Piroman> которые опросы таких битов подменяют на другие операции (nop)

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

Piroman
Ignis Caelum

опытный

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

Во-первых я стараюсь не запрещать прерывания. т.е. как только вызвано аппаратное прерывание я сразу разрешаю остальные. ( sei )
Естественно ври входе и выходе сохраняю и восстанавливаю все флаги и регистры.

во вторых такое ожидание описано в даташите на микросхему. у меня получалось 18 тиков процессора на частоте 24 мГц.

естьеще такой хинт, когда удут посылки несколько байт подряд. после очередной посылки я не ожидаю поднятия статуса, а загружаю новые данные в регистры и поправляю счетчики, а только потом проверяю статус. 8-10 тактов процессора экономятся
Лучше быть оптимистом и ошибаться, чем пессимистом, который всегда прав.  6.06.0
+
-
edit
 

Serge77

модератор

Это для меня слишком сложно. Проще проверить в натуре, будет работать или нет.
RU termostat #19.01.2009 16:26  @Ignis Caelum#19.01.2009 16:18
+
-
edit
 

termostat

аксакал

Piroman> сейчас буду вспоминать как сделано у меня ...
Piroman> Во-первых я стараюсь не запрещать прерывания. т.е. как только вызвано аппаратное прерывание я сразу разрешаю остальные. ( sei )

ИМХО странно как-то.
+
-
edit
 

Piroman
Ignis Caelum

опытный

Serge77> Это для меня слишком сложно. Проще проверить в натуре, будет работать или нет.

странно что что сложно.

если ты хочешь чтобы в Vmlab задержка соответсвовала реальной то тебе надо с даташита выписать задержки в наносекундах на запись, чтение. стирание и т.д..
посчитать сколько это будет в тиках твоего процессора на твоей частоте.

и после этого в первую часть команду препроцессора #ifdef ... #else ... #endif
записываешь столько команд nop, сколько ты высчитал процессортных тактов исходя из даташитной задержки
Лучше быть оптимистом и ошибаться, чем пессимистом, который всегда прав.  6.06.0
RU Piroman #19.01.2009 16:42  @termostat#19.01.2009 16:26
+
-
edit
 

Piroman
Ignis Caelum

опытный

Piroman>> сейчас буду вспоминать как сделано у меня ...
Piroman>> Во-первых я стараюсь не запрещать прерывания. т.е. как только вызвано аппаратное прерывание я сразу разрешаю остальные. ( sei )
termostat> ИМХО странно как-то.

нормально.
у меня немного железных прерываний. и после того как они вызваны не важно сколько ± мсек они обработаются. те. запас времени не хуже чем 100 к 1.

вот случае кода я не я немного держу замаскированными прерывания
1) когда в одном железном прерывании я поправляю ввнутренний счетчик времени, а другое прерывание использует этот счетчик.

2) когда на обычных ногах МК я эмулирую протокол TWI с устройством, которое отслеживает таймауты и может отвалится, если не выдержишь временные промежутки.
Лучше быть оптимистом и ошибаться, чем пессимистом, который всегда прав.  6.06.0
UA Serge77 #19.01.2009 16:55  @Ignis Caelum#19.01.2009 16:33
+
-
edit
 

Serge77

модератор

Piroman> если ты хочешь чтобы в Vmlab задержка соответсвовала реальной то тебе надо с даташита выписать задержки в наносекундах на запись, чтение. стирание и т.д..

Надо попробовать, может разберусь.
1 5 6 7 8 9 38

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru