Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
ATmega AVR Watchdog attiny13 и mega8. Изучаю статью http://we.iosyitistromyss.ru/AVR/avr-po ... omment8433 что то понять не могу нет бита WDIE в байте настройки ватчдога WDTCR? ..... ISR (WDT_vect) { PORTB ^= _BV(PB4); // переключаем светодиод WDTCR |= _BV(WDIE); // разрешаем прерывания по ватчдогу. Иначе будет резет. } ..... //инициализация ватчдога https://www.cyberforum.ru/ avr/ thread2085494.html Залочил/спалил Мега8а? ATmega AVR
Отлаживал устройство, прошивал своим самодельным нестандартным AVRISP mk2. Устройство содержит силовую часть от 220 с симисторной оптопарой, питается от той же силовой части через импульсный 12 в преобразователь (с гальв. развязкой, конечно) и 7805. В какой-то момент алгоритм оказался с ошибкой и я устройство выключил из розетки, чтобы силовуха не перегрелась. Исправил ошибку и нажал кнопку...
ATmega AVR Вопрос по SPI Всем привет! Мучает такой вопрос. При передаче байта по SPI на каждый импульс тактового сигнала (clk) сдвиговые регистры (mostir, slave) обмениваются одним битом. Во всех мануалах указано, что на переднем фронте тактового импульса происходит выборка (sample), а на заднем установка (setup) (или наоборот). Интересует, что подразумевается под выборкой, поскольку в момент установки как раз и... https://www.cyberforum.ru/ avr/ thread2085492.html ATmega AVR Помогите безголовому с инициализацией mega328 https://www.cyberforum.ru/ avr/ thread2085491.html
помогите пожалуйста с инициализацией прерываний и стека в mego328p с загрузчиком (с платы ардуино) на avrasm2, может кусочек кода если можно? avrdude ругается при прошивке
ATmega AVR Мультизадачность
Добрый день, уважаемые форумчане. Занимаюсь реализацией очередного проекта "Умный дом" в образовательных целях. Ситуация следующая: 1. приёмник 433 (просто управление с пинов) 2. приёмник 2,4 (SPI) 3. Bluetooth (UART) модели принципиального значения не имеют, обычные, дешевые, китайские.
ATmega AVR Режим сна АЦП. https://www.cyberforum.ru/ avr/ thread2085489.html
Всем привет. Возникла необходимость просыпаться по прерыванию, после окончание преобразования ацп. Но для этого не могу уснуть в режиме ADC Noise Riduction. Контроллер Тини13. Компилятор CVAVR. Стандартная билиотека SLEEP.h не дает такой возможности. В даташите написано что для сна необходимо в регистре MCUCR установить 5 бит SE, затем 4 бит (SM1) сбросить, а 3 бит (SM0) установить. И дать...
ATmega AVR UART в Xmega Здравствуйте) Набросал не большой код: UART настраивал на скорость в 9600 , 8 бит данных, 1 стоп бит и без бита парритета. Плюс отключен параметр удвоения скорости. #define F_CPU 12000000UL #define __DELAY_BACKWARD_COMPATIBLE__ #include <stdlib.h> #include <avr/io.h> #include <stdyo.h> #include <stddef.h> https://www.cyberforum.ru/ avr/ thread2085488.html SDHC изменение CSD ATmega AVR
Подскажите пожалуйста. Существет ли готовая схема и прошивка, чтоб можно было изменять CSD регистр в карте microSDHC ?
ATmega AVR AVR, SPI и SSD1306 Приобрёл для одного из своих проектов вот такой дисплей. Пытаюсь его запустить. Начал с примеров от Adafruit. Ардуиноский скетч запустил дисплейчик с полпинка, откуда делаем вывод, что дисплей рабочий. Потом я в скетче урезал всю работу с графикой, оставил только команды инициализации - дисплей загорается и показывает на экране шум, то есть инициализация проходит успешно. Теперь я пытаюсь... https://www.cyberforum.ru/ avr/ thread2085486.html ATmega AVR ENC28J60 и AVR https://www.cyberforum.ru/ avr/ thread2085485.html
Здравствуйте. Приобрел готовый модуль ENC28J60 и подключил его к контроллеру (готовую библиотеку скачал из уроков Lifelovera). В программе WireShark вижу как мне отправляется ARP-запрос, с параметрами: Sender MAC address: AsustekC_e3:6f:d9 (10:c3:7b:e3:6f:d9) Sender IP address: 0.0.0.0 (0.0.0.0) Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) Target IP address: 192.168.1.50...
ATmega AVR часы с календарем как сделать меню?
делаю часы(в образовательных целях) на atmego32 и ds1307. часы тикают время показывает, настройка реализована через прибавление единицы к текущему значению и последующей записи в часы, получается к дате, месяцу, году, часу, минуте по кнопке. накладно получается), как сделать так чтобы можно было двигать влево в право и прибавлять убавлять значение? оригинальная...
ATmega AVR Проблемы с CAN https://www.cyberforum.ru/ avr/ thread2085483.html
Есть плата управления работающая на AT90CAN128 принимает запрос и отвечает некоторыми данными. Но если произойдет сбой притания или включить сначала устройство запрашивающие данные а потом саму плату то наступает некоторый пиздец контролер отказывается работать ВООБЩЕ не ресет питания ничего не помогает просто перестает работать пока не прошьешь. После прошивки все нормально работать может днями...
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 115
06.05.2013, 19:45 0

amForth - ATmega AVR - Ответ 11283045

06.05.2013, 19:45. Показов 216975. Ответов 333
Метки (Все метки)

Ответ

Цитата Сообщение от Ymk
Цитата Сообщение от OrtimKOD
Вот только ассемблер не модифицирует сам себя. Он не является одновременно и компилятором и конечным продуктом.
объясните на пальцах, зачем модифицировать себя самому?
Для того, что-бы сделать конечный продукт в удобном для конечного пользователя виде. Задачи разные, разные должны быть и результаты.
Цитата Сообщение от Ymk
в ассемблерах, например, можно делать макросы, добавляя "виртуальные команды", несложно и переопределять существующие команды. кроме того, программа, работающая в озу может сама себя патчить, если ну очень надо, только это "не круто".
Первое - не более чем модификация названий в процессе компиляции, второе - в большенстве случаев не более чем хитрый хак претендующий на грабли.
Цитата Сообщение от Ymk
касается компилятор и конечный продукт - блин, встройте компилятор в камень, будет вам конечный продукт. разные отладчики, например, позволяют писать команды на асме, тут же их компилить и выполнять. вот вам ассемблер интерактивный. только ни разу в продакшене такого не видел (а для работы таких завались).
Описанное ни в коем случае не интерактивный асм. Отладчик работает на хост-машине и все манипуляции с кодом происходят через перекомпиляцию со вставкой кода и последующей перезаливкой камня. В более продвинутом случае в плату вместо реального камня впаивается заглушка с разъемом, а вся работа камня эмулируется на отдельной плате в рантайме. Первый вариант более распространен т.к. второй многократно дороже. Оба варианта хороши при разработке ПО когда целевое устройство рядом под руками. Как только надо провести отладку хоть сколь нибудь удаленно ни первый ни второй вариант вменяемо не работают. Т.е. как только от целевого устройства физически отрывается отладчик устройство о своей работе ничего сообщить не может.
Цитата Сообщение от Ymk
OrtimKOD"]И компилятор Форта начинающие и электронщики запросто осваивают. А вот писателей Си-подобных компиляторов практически нет ни среди электронщиков, ни вреди начинающих программистов и практически нет даже среди профессионалов. Может все-же не все так просто?
[/QUOTE]конечно! а почему? может потому что си на 10 голов выше (круче, удобнее, мощнее) форта? тем не менее, среди профи не так мало народу, кто мог бы написать более-менее нормальный компилятор/интерпретатор.
Мы тут обсуждаем что круче или что можно реально использовать? Тут собрались профи которые могли бы запросто написать... ?
Ymk"]OrtimKOD"]Осталось мелочь - заставить его заработать под выдуманный процессор. Т.е. наполнить его новыми конструкциями и правилами формирования кода.[/QUOTE][/QUOTE]интересно, если чел сам его заточил под 8080, что мешало ему же заточить его под любой другой проц?
Вы предлагали прототип сделанный за день, а не компилятор самостоятельно заточенный под 8080.
ЗЫ. Кстати, Форт-асм для 8080 в одной из книг был напечатан полностью. Он влез на 1 книжную страницу.
ЗЗЫ. Я даже приведу ВЕСЬ исходник здесь
Код
\ Ассемблер 8080
\ учебная версия ассемблера 8080,основанная на фигФорте;
\ разработана Джоном Кэсседи
HEX
VOCABULARY ASSEMBLER
: CODE CREATE HERE HERE 2- ! ASSEMBLER ;
ASSEMBLER DEFINITIONS
: END-CODE CURRENT @ CONTEXT ! ;
0 CONSTANT В   1 CONSTANT С   2 CONSTANT D    3 CONSTANT E
4 CONSTANT H   5 CONSTANT L   6 CONSTANT PSW  6 CONSTANT M
6 CONSTANT SP  7 CONSTANT A
: 1MI CREATE C, DOES> C@ C, ;
: 2MI CREATE C, DOES> C@ OR C, ;
: 3MI CREATE C, DOES> С@ SWAP 8 * OR C, ;
: 4MI CREATE C, DOES> С@ С, С, ;
: 5MI CREATE С, DOES> С@ С, , ;

\ Ассемблер 8080
HEX
00 1MI NOP   76 1MI HLT    F3 1MI DI    FB 1MI ED
07 1MI RTS   0F 1MI RRC    17 1MI RAL   1F 1MI RAR
E9 1MI PCHL  F9 1MI SPHL   E3 1MI XTHL  EB 1MI XCHG
27 1MI DAA   2F 1MI CMA    37 1MI STC   3F 1MI CMC
80 2MI ADD   88 2MI ADC    90 2MI SUB   98 2MI SВВ
А0 2MI ANA   A8 2MI XRA    B0 2MI ORA   B8 2MI CMP
B9 3MI DAD   C1 3MI POP    C3 3MI PUSH  B2 3MI STAX
0А 3MI LDAX  04 3MI INR    05 3MI DCR   03 3MI INX
0B 3MI DCX   C7 3MI RST    D3 4MI OUT   DB 4MI SBI
E6 4MI ANI   ЕЕ 4MI XRI    F6 4MI ORI   FE 4MI CPI
22 5MI SHLD  2A 5MI LHLD   32 5MI STA   3А 5МI LDA
CD 5MI CALL

\ Ассемблер 8880
HEX
C9 1MI RET   C3 5MI JMP    C2 CONSTANT 0=   D2 CONSTANT CS
E2 CONSTANT PE    F2 CONSTANT 0<
: NOT 8 OR ;
: MOV 8 * 40 + + C, ;
: MVI 8 * 6 + C, C, ;
: LXI 8 * 1+ C, , ;
: THEN HERE SWAP ! ;
: IF C, HERE 0, ;
: ELSE C3 IF SWAP THEN ;
: BEGIN HERE ;
: UNTIL C, , ;
: WHILE IF ;
: REPEAT SWAP JMP THEN ;
: NEXT (NEXT) JMP ;
Причем уже с элементами высокоуровневого языка.

Ymk писал(а):
мы не говорим щас про оптимизацию кода, а значит самое сложное - именно лекс. и синтакс. парсер. вы в курсе, кстати, что есть утилиты, создающие эти парсеры по заданным правилам грамматики?
Парсер - самое простое. Вы сами текст парсите глазами на раз-два даже этого не замечая. Не составляет больших проблем перебрать текст выделяя по ходу дела разделители и группы токенов. Самое сложное определиться что дальше с разобранным делать
Ymk писал(а):
OrtimKOD писал(а):
А еще заставить его работать в камне располагая свои служебные области там где Вам надо, а не там где ему пожелается.
это я вообще не понял про что.
Любой компилятор, а тем более многопроходный Си-подобный требует очень много оперативки сжираемой в процессе разбора текста. Если его вставлять в камень, надо компилятору эту оперативку предоставить. А оперативка в контроллерах совсем не резиновый ресурс.
Ymk писал(а):так же и с ld/fbd, чем оно меньше и нагляднее, тем лучше. для алгоритмов, отражающих техпроцесс нагляднее fbd, его даже сторонние люди понимают - факт. а вот для формул, циклов и прочего fbd - АДЪ страшенный. вот блин и разница в форме.
Между ld и fbd для "формул, циклов и прочего" разницы нет. В обоих вариантах это криво. Поэтому в плк вводят виртуальные таймеры и счетчики выполняющие задачи типовых циклов.
Ymk писал(а):KPK писал(а):Ещё? Или будете искать ответы на вопросы в себе?вы не отправляйте меня на сайт или в гугл. вы скажите четко и ясно: вот здесь, здесь и здесь (конкретные девайсы!) лучше форта ничего не может быть. и не потому, что вы лучше всего знаете форт, фанат или что-то такое, а из-за конкретных свойств языка.
Гы-гы-гы... А анекдот в том, что выбор производится по задаче и практически все фортеры в т.ч. и я имеют несколько рабочих инструментов в своем арсенале помимо Форта. У меня к примеру рабочие - Асм, Си, Форт. И дальше использую по задаче.

Вернуться к обсуждению:
amForth ATmega AVR
0
Заказать работу у эксперта
06.05.2013, 19:45
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru