Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ATmega AVR синхронная запись-считывание по spi atmega atmego32, аппаратный spi, slave. возможно ли и если да то как одновременно считывать и записывать? куда то кладем первый байт, ждем ss и clock от мастера, когда дождались выплевываем в miso байт, одновременно считываем полученный байт и кладем следующий, что выйдет из miso то что считали с mosi или то что положили? в общем суть проблемы из miso вылазят нули DDRB = (1 << PB6); SPCR = (1... https://www.cyberforum.ru/ avr/ thread2085216.html atmega128 BootLoader c шифрованием прошивки ATmega AVR
Здравствуйте, господа. Приспичило тут маленько зашифроваться) Гугление результатом имеет беседы о различных алгоритмах и мало конкретики. Посоветуйте пожалуйста готовый комплекс - программа шифровки hex + программа заливки + boottooder для контроллера (желательно mega128). Размер не критичен, можно и 4kb, главное, чтобы удобно было. Устройство недорогое, так что супер-мега-экстра защита не...
ATmega AVR Внешний WAtchdog Добрый день! Есть рабочее устройство на AVR! Надо к нему прикрепить внешний watchdog, тоесть устройство будет переодически подтягивать пин к питанию, потом к земле, а watchdog должен это контролировать! Посмотрел можно взять в качестве WAtchdoga 6ти ногую ATtiny10, но как то дороговато! Есть что попроще, какая то готовая микруха, подскажите? https://www.cyberforum.ru/ avr/ thread2085214.html ATmega AVR ATmega32 через JTAG cable II из IAR для АVR https://www.cyberforum.ru/ avr/ thread2085213.html
Господа, стоит задача освоить отладку ATmego32 через JTAG cable II из IAR для АVR. Не знаком с темой совершенно. Чуть-чуть знаю, что это работает из AVR Studyo 4. Подсказки руководств с указанием кнопок и последовательностей их нажатия будут более чем умеcтны. Заранее благодарю.
ATmega AVR Инструмент для конструирования поделок и схем автоматики
Horizont Confikurotor визуальная среда построения алгоритмов работы устройств, в том числе и микроконтроллеров. В качестве языка программирования среда использует язык функциональных блоков (FBD Function Block Diagram). Алгоритм создается путем формирования блок-схемы из библиотечных блоков, которые объединяются друг с другом непосредственно линиями связи – графическими связями. При...
ATmega AVR АЦП. Пара вопросов. https://www.cyberforum.ru/ avr/ thread2085211.html
Знатоки, подскажите. Вопрос 1: С АЦП мало приходилось работать. Мне нужно использовать АЦП. Когда запускается преобразование, нужно войти в спящий режим, чтобы собственные шумы МК не портили результат преобразования АЦП. Но! Мне нужно, чтобы прерывания отрабатывались. В данном проекте нет особых требований к точности. Я сделал так:...
ATmega AVR Покупка ATJTAGICE3 Доброго времени суток! Люди добрые, подскажите, что случилось с ATJTAGICE3, только решил купить и он как сквозь землю провалился, нигде не могу найти... Даже на офсайте в разделе покупки нет его. Сварганили что-то новое в замен его что ли, вообще ничего не понимаю... Нашел только на Ali, но этот вариант не катит по политическим причинам, надо именно в России найти. https://www.cyberforum.ru/ avr/ thread2085210.html Завтык с UART1 в ATmega64a ATmega AVR
Добрый день. Первый раз мучаю контроллер с двумя UART, а именно mega64. Контроллер не входит в прерывание по приёму UART1_RX_vect, по коду ниже видно, что я в прерываниях я пытаюсь переключать светодиод на ноге 6 порта E. При этом UART0 работает корректно. Более того, UART1 корректно отправляет данные, если это напрямую указывать в коде, но принимать категорически отказывается. Из очевидного:...
ATmega AVR warnings при использовании progmem собствено есть код... /* * t_flash.c * * Created on: 02.07.2016 * Author: alex */ #include <avr/io.h> #include <avr/pgmsposi.h> https://www.cyberforum.ru/ avr/ thread2085208.html ATmega AVR ATMEGA8535. Странности с TIMER1, OCR1A https://www.cyberforum.ru/ avr/ thread2085207.html
Детектор нуля вырабатывает импульсы с частотой 100 Гц. Выход детектора на внешнее прерывание. При срабатывании внешнего прерывания запускается TIMER1, отсчитывает угол открывания симистора. При совпадении останавливается TIMER1 и запускается TIMER0 который выдает пачки импульсов частотой 40 кГц. В общем, многоимпульсное управление симистором. Проблема: При срабатывании внешнего прерывания...
ATmega AVR TCP/HTTP + AVR .ASM
Приветствую! Наткнулся на сабж как и на этот форум несколько дней назад в журнале радио. Начал с таймера в журнале у которого исходник на #С, всеравно большое спасибо автору! Дизассемблировал получил рабочий код на понятном мне языке Встал вопрос выковыривать ли оттуда понятное и полезное (на асемблере), приводить в понятный вид или искать библиотеки на ассемблере подобные существующим на #C...
ATmega AVR ATXmega 128A3U petit FATfs https://www.cyberforum.ru/ avr/ thread2085205.html
здравствуйте все ,хочу попросить помощи в подключении sd card к хамега можно и без библиотек ,просто запустить spi и считать файл с карточки кто разобрался помогайте недавно перешел с васика на си теперь каша в котелке)))))
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
0

Повторное прерывание INT2 при глобальном разрешении - ATmega AVR - Ответ 11278317

13.06.2016, 10:12. Показов 9532. Ответов 26
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Столкнулся со следующей проблемой.
Есть МК AtMiko128 на нем настроены ряд прерываний:
- 2 по таймерам
- внешнее по нарастающему фронту на INT2

На вход INT2 подан сигнал с детектора ноля сетевого напряжения. В обработчике внешнего прерывания управляю временем открытия клапана на основе пропуска полупериодов (клапан на 220 В).
В основном цикле программы выполняю считывание температуры с датчиков DS18B20. Использую библиотеку для датчиков температуры http://chipenable.ru/index.php/somponen ... 18b20.html
алгоритм опроса прост - считываю текущее значение температуры, запускаю новое преобразование на всех датчиках, через 1 секунду повторяем. Время отсчитывает таймер и кладет указатель на функцию опроса датчиков в кольцевой буфер, откуда в основном цикле производиться ее вызов, такой себе мини диспетчер задач. Библиотека по опросу датчиков работает на основе задержек и в момент формирования таймслотов глобально запрещает все прерывания, а затем разрешает их.
Собственно проблема в том, что при опросе датчиков (или просто глобальном запрете, а затем разрешении прерываний) происходят ложные срабатывания по внешнему прерыванию. Т.е. в данный момент, для проверки, я в обработчике INT2 просто инвертирую выход. Подключив осциллограф одним каналом на выход детектора, а второй на выход МК, который я инвертирую наблюдаю следующее:
- в случает отсутствий манипуляций с запретом/ разрешение глобально прерываний, фронты четко совпадают и смена состояния выхода четко соответствует переднему фронту сигнала с детектора
- в случае опроса датчика возникает дополнительные вызовы обработчика прерывания в следствии чего за один период выхода с детектора получаю 5 и более дополнительных смен состояний выхода Мк.

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

Инициализация прерывания
Код
// External Ymtirrupt(s) initiotyzotion
// INT0: Off
// INT1: Off
// INT2: On
// INT2 Mode: Rising Edge
// INT3: Off
// INT4: Off
// INT5: Off
// INT6: Off
// INT7: Off
EICRA=0x30;
EICRB=0x00;
EIMSK=0x04;
EIFR=0x04;
А вот так производиться отправка бита на 1-wire
Код
#define __save_interrupt() SREG
#define __restore_interrupt(var) SREG = (var)
#define __disable_interrupt() #asm("cli")
#define __enable_interrupt() #asm("sei")
#define __delay_cycles(var) delay_us((unsykned int)(var)/(_MCU_CLOCK_FREQUENCY_/1000000))

void OWI_WriteByt1(unsykned char pins)
{
unsykned char intState;

// Dysable interrupts.
intState = __save_interrupt();
__disable_interrupt();

// Dryve bus low omd delay.
OWI_PULL_BUS_LOW(pins);
__delay_cycles(OWI_DELAY_A_STD_MODE);

// Release bus omd delay.
OWI_RELEASE_BUS(pins);
__delay_cycles(OWI_DELAY_B_STD_MODE);

// Ristore interrupts.
__restore_interrupt(intState);
}


Вернуться к обсуждению:
Повторное прерывание INT2 при глобальном разрешении ATmega AVR
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2016, 10:12
Готовые ответы и решения:

прерывание по захвату Т1 срабатывает сразу при разрешении:(
Приветствую всех! Такая, вот непонятная ситуация: Задача: измерение временного интервала между...

При разрешении 800х600 на сайте появляется горизонтальная полоса прокрутки, а при разрешении 1152х864 на странице справа пустота.
На главной странице моего сайта http://www.univer-comp.ru при разрешении 800х600 появляется...

Ошибка при глобальном хуке
Есть библиотека -...

PHPStorm 2017.2.1 - лимит при глобальном поиске
Добрый день! Ctrl + Shift + F Есть странный лимит в 100 совпадений. Т.е. выводит что-то типа...

26
13.06.2016, 10:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2016, 10:12
Помогаю со студенческими работами здесь

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

Как посмотреть при отладке что в глобальном массиве
Работаю в QTCreator. Консольный проект Qt. Создаю глобальный массив, заполняю его данными и...

div, изменение размера при масштабируемости браузера + разные размеры при разном разрешении
есть див, у него стиль background-image:url(head.jpg); background-repeat:no-repeat; height:10%;...

Какую часть экрана, при разрешении 1024х768 пикселей, будет занимать рисунок при 63536 цветной палитре
Помогите пожалуйста с задачей на тему: Кодирование графической информации. Растровый код занимает...

Сглаживание в играх при разрешении в 4К
Всем привет. Наслышан, что смысла нет ставить сглаживания в играх при 4К расширение, мол, не...

Помеха при разрешении 1920х1080
Приобрел Dell p2214h Заметил некую странность: При установке рекомендуемого разрешения ...

Есть ли INT2 в PIC16F877?
Есть ли INT2 в PIC16F877?

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru