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

Микроконтролер Зависет Attyni13A


strengerst

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

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

.include "tn13def.inc";
//Переименованные регистра
.def PINT=R24; //R24 переименовуем в VECTORPCINT
.def TIMEA=R25;
.list;
.cseg; работаем с програмной памятью а не озу или eeprom
.org 0; устанавливаем начальную позицию строки
exit: rjmp N0;
.org 2
/*Код прерывания по выводам PCINT*/
in R20, SREG;
inc PINT;
out SREG, R20;
reti;
/*Код прерывания по совпадению с таймером значения А*/
.org 6
in R20, SREG;
INC TIMEA;
out SREG, R20;
reti;

/*Код установки таймера счетчика*/
TIME0RIN:
ldi R16, 0x00;// Сбрасываем все флаги таймера
out TIFR0, R16;
ldi R16, (1<<OCIE0A);Установка по совпадению с А;
out TIMSK0, R16;
ldi R16, 0xFF; Устанавливаем значение при совпадении с А
out OCR0A, R16;
ldi R16, (1<<CS02)|(0<<CS01)|(1<<CS00);
out TCCR0B, R16;
rjmp start;
/*Основной код начало программы*/
N0:
cli; ЗАПРЕOFTV ГЛОБАЛЬНЫЕ ПРЕРЫВАНИЯ перед установкой параметров
//инициализация стэка.(установка максимально размера ОЗУ);
ldi R17, RAMEND;
out SPL, R17;
//Установка предделителя частоты тактового сигнала Устанавляваем деление на 8 что бы не перегревать процесор.
ldi R16, (1<<CLKPCE)|(0<<CLKPS1)|(0<<CLKPS0);
out CLKPR, R16;
ldi R16, (0<<CLKPCE);
out CLKPR, R16;
////Запрет прерывания от компаратора перед его отключением ;
//Команда сбрасывает значение в 0 регистра ACSR ячейки ACIE;
CBI ACSR, ACIE;
//Отключение компаратора
////Команда устанавливает значение в 1 регистра ACSR ячейки ASD;
SBI ACSR, ACD;
///Выбераем режим срабатывания по PCMSK
ldi R16, (1<<PCIF);
out GIFR, R16; ..Скидываем флаг прерывания если он установлен.
ldi R16, (1<<PCIE);
out GIMSK, R16;
//Выбираем режим срабатывания по нарастающему фронту
ldi R16, (1<<ISC01)|(1<<ISC00);
out MCUCR, R16;
//Выбираем ножку микроконтролера
ldi R16, (1<<PCINT1);
out PCMSK, R16;
//Обнулям занечния наших переменых
CLR ZH;
mov pint, ZH;
mov timea, ZH;

//Устанавливаем работу некоторых ножек порта как на выход.
ldi R16, (1<<DDB4)|(0<<DDB1)|(1<<DDB0);
out DDRB, R16;
//Подключаем подтягивающия резистр к ножке микроконтролера
ldi R16,(1<<PORTB1);
out PORTB, R16;
N1:
//Оключаем работу таймера
ldi R16, (0<<CS02)|(0<<CS01)|(0<<CS00);
out TCCR0B, R16;
sei;//Разрешаем глобальные прерывания
//Скидываем в 0 значение переменых PINT, TIMEA;
mov PINT, ZH;
mov TIMEA, ZH;
// MCUCR ячейки SE-Бит разрешения спящего режима;
// Выбираем режим POWER DOWN, битами SM1 и SM0;
ldi R16, (1<<SE)|(1<<SM1)|(0<<SM0);
out MCUCR, R16;
sleep;
//Отключаем разрешение перехода в спящий режим
ldi R16, (0<<SE);
out MCUCR, R16;
//При первом включении микроконтролера выставлям начальные параметры в метки N0;
start:
wdr; //сбрасываем сторожевой таймер
ldi R16, 0;
//сравнение двух переменных и если они равны то пропуск следующей команды
cpse R16, pint;
rjmp PC+0x02;
rjmp start;
//если сроботало прерывание (поступил перый хлопок pint=1)
ldi R16, 1;
cpse R16, pint;
rjmp PC+0x05; если pint не равно 1 то переходим на 5 позиции в низ.
inc pint; прибавляем 1 что бы больше сюда не заходить.
ldi R16, (0<<PCIE); отключаем внешнее прерывания PCINT
out GIMSK,R16;
rjmp TIME0RIN;
/*По прошествию 2 секунд после первого прерывания подключаем глобальное прерывание */
ldi R16, 10;
cpse R16, timea;
rjmp PC+0x14;
ldi R16, 2;
cpse R16, PINT;
rjmp PC+0x11;
inc timea;
ldi R16, (1<<PCIF); скидываем флаг прерывания
out GIFR,R16;
ldi R16, (1<<PCIE); потключаем внешнее прерывания PCINT
out GIMSK,R16;
ldi R16, 0x81; скидываем таймер счетчик
out GTCCR, R16;
ldi R16, 0x00; скидываем таймер счетчик
out GTCCR, R16;
ldi R16, 3;
mov PINT, R16;
ldi R16, 0;
mov timea, R16;
nop;
nop;
sei;
/*Уходим в режим sleep если второй хлопок не поступил по прошествию 5 секунд*/
ldi R16, 120;
cpse R16, timea;
rjmp PC+0x07;
ldi R16, 3;
cpse R16, pint;
rjmp PC+0x04;
nop;
nop;
rjmp N1;

/*Если второй хлопок поступил*/
ldi R16, 4;
cpse R16, pint;
rjmp PC+0x08;
ldi R16, (0<<PCIE); отключаем внешнее прерывания PCINT
out GIMSK,R16;
inc pint;
ldi R16, 0;
mov timea, R16;
ldi R16, 0x00; скидываем таймер счетчик
out TCNT0, R16;
/*Выжидаем одну секунду и подключаем внешнее прерывание*/
ldi R16, 10;
cpse R16, timea;
rjmp PC+0x0D;
ldi R16, 5;
cpse pint, R16;
rjmp PC+0x0A;
ldi R16, (1<<PCIF); скидываем флаг прерывания
out GIFR,R16;
ldi R16, (1<<PCIE); потключаем внешнее прерывания PCINT
out GIMSK,R16;
inc pint;
ldi R16, 0x00; скидываем таймер счетчик
out TCNT0, R16;
ldi R16, 0;
mov timea, R16;
/*Если поступил третий хлопок в течении 2сек нечего не включаем и идем спать */
ldi R16, 60;
cpse R16, timea;
rjmp PC+0x05;
ldi R16, 7;
cpse R16, pint;
rjmp PC+0x02;
rjmp N1;
/*Если третий хлопок не поступил в течении 2сек подключаем пин PORTB2 */
ldi R16, 60;
cpse R16, timea;
rjmp PC+0x09;
ldi R16, 6;
cpse R16, pint;
rjmp PC+0x06;
ldi R16, (1<<PORTB4);
in R17, PORTB;
eor R16, R17;
out PORTB,R16;
rjmp N1;
rjmp start;

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

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

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

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

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

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

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

Какое внешнее прерывание вы используете на PB1 - INT0 или PCINT1. А то сложно что-то сказать не зная идею.

Во время инициализации вы настраиваете прерывание по восходящему фронту INT0. Прерывания PCINT работают по обоим перепадам (один режим). Обработчик прерывания у вас выбран PCINT

//Выбираем режим срабатывания по нарастающему фронту

ldi R16, (1<<ISC01)|(1<<ISC00);

out MCUCR, R16;

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

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

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

Ну вот же в коде написано

///Выбераем режим срабатывания по PCMSK
ldi R16, (1<<PCIF);
out GIFR, R16; ..Скидываем флаг прерывания если он установлен.
ldi R16, (1<<PCIE);
out GIMSK, R16;
//Выбираем режим срабатывания по нарастающему фронту
ldi R16, (1<<ISC01)|(1<<ISC00);
out MCUCR, R16;
//Выбираем ножку микроконтролера
ldi R16, (1<<PCINT1);
out PCMSK, R16;

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

/*Уходим в режим sleep если второй хлопок не поступил по прошествию 5 секунд*/
ldi R16, 120;
cpse R16, timea;
rjmp PC+0x07;
ldi R16, 3;
cpse R16, pint;
rjmp PC+0x04;
nop;
nop;
rjmp N1;

который сравнивает количество прерываний по времени с переменой timea.

Да все по сути работает я лично проверял. но вот только не долго определеный промежуток времени там 5 мин. А потом контролер зависает чета.

Вы это сами "изобретали" или "сдернули" откуда-то?

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

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

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

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

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

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

Тогда объясните кто Вас учил использовать безусловные переходы типа rjmp PC+0x.., вместо rjmp {имя метки}. Вроде Вы и метки используете, но категорически отказываетесь их применять при переходах. Кстати, есть еще кучка условных переходов, применение которых позволяет создавать более читабельный и понятный листинг, чем пропуск команды при равенстве регистров.

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

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

Повторяюсь ещё раз

//Выбираем режим срабатывания по нарастающему фронту

ldi R16, (1<<ISC01)|(1<<ISC00);

out MCUCR, R16;

Это для прерывания по INT0. Вы же используете прерывание PCINT. PCINT не имеет возможности настройки по фронту/по спаду/по любому перепаду/или по низкому уровню. Эта настройка доступна только для INT0. PCINT может только - по любому перепаду на ноге. То есть когда вы хлопнули один раз вы два раза попали в прерывание (по фронту и по спаду), когда хлопаете 3 раза соответственно 6 раз в прерывание.Если вы хотите инкрементировать только по фронту, то попадая в прерывание проверяйте состояние входа а потом инкрементируйте.

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

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

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

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

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

Обратите внимание на это место:

.org 2
/*Код прерывания по выводам PCINT*/
in R20, SREG;
inc PINT;
out SREG, R20;
reti;
/*Код прерывания по совпадению с таймером значения А*/
.org 6
in R20, SREG;
INC TIMEA;
out SREG, R20;
reti;

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

Повторяюсь ещё раз

//Выбираем режим срабатывания по нарастающему фронту

ldi R16, (1<<ISC01)|(1<<ISC00);

out MCUCR, R16;

Это для прерывания по INT0. Вы же используете прерывание PCINT. PCINT не имеет возможности настройки по фронту/по спаду/по любому перепаду/или по низкому уровню. Эта настройка доступна только для INT0. PCINT может только - по любому перепаду на ноге. То есть когда вы хлопнули один раз вы два раза попали в прерывание (по фронту и по спаду), когда хлопаете 3 раза соответственно 6 раз в прерывание.Если вы хотите инкрементировать только по фронту, то попадая в прерывание проверяйте состояние входа а потом инкрементируйте.

Это правильное замечание но на код оно не влияет так как после первого хлопка у нас срабатывает прерывания по высокому фронту и что бы мы не попадали в прерывания по низкому фронту в коде после первого прерывания отключаются прерывания по PCINT до окончания действия таймера а потом опять подключаем прерывания и ждем второй хлопок. Это исключает возможность двойного попадания в прерывания. Почему PCINT а не INT0 потому что нога отведеная под INT0 расположения микроконтроллера находиться не в удобном для моей схемы места.

//если сроботало прерывание (поступил перый хлопок pint=1)
ldi R16, 1;
cpse R16, pint;
rjmp PC+0x05; если pint не равно 1 то переходим на 5 позиции в низ.
inc pint; прибавляем 1 что бы больше сюда не заходить.
ldi R16, (0<<PCIE); отключаем внешнее прерывания PCINT
out GIMSK,R16;
rjmp TIME0RIN;/*Если второй хлопок поступил*/
ldi R16, 4;
cpse R16, pint;
rjmp PC+0x08;
ldi R16, (0<<PCIE); отключаем внешнее прерывания PCINT
out GIMSK,R16;
inc pint;
ldi R16, 0;
mov timea, R16;
ldi R16, 0x00; скидываем таймер счетчик
out TCNT0, R16;

Обратите внимание на это место:

.org 2
/*Код прерывания по выводам PCINT*/
in R20, SREG;
inc PINT;
out SREG, R20;
reti;
/*Код прерывания по совпадению с таймером значения А*/
.org 6
in R20, SREG;
INC TIMEA;
out SREG, R20;
reti;

Учту ваше замечание и попробую переделать. Вот так вроде бы должно быть

.include "tn13def.inc";
//Переименованные регистра
.def PINT=R24; //R24 переименовуем в VECTORPCINT
.def TIMEA=R25;
.list;
.cseg; работаем с програмной памятью а не озу или eeprom
.org 0; устанавливаем начальную позицию строки
rjmp N0; Reset Handler
rjmp N0 ; IRQ0 Handler
rjmp PCINT0Z ; PCINT0 Handler
rjmp N0 ; Timer0 Overflow Handler
rjmp N0; EEPROM Ready Handler
rjmp N0; Analog Comparator Handler
rjmp TIM0_COMPA ; Timer0 CompareA Handler
rjmp N0; Timer0 CompareB Handler
rjmp N0; Watchdog Interrupt Handler
rjmp N0; ADC Conversion Handler


/*Код прерывания по выводам PCINT*/
PCINT0Z:
in R20, SREG;
inc PINT;
out SREG, R20;
reti;
/*Код прерывания по совпадению с таймером значения А*/
TIM0_COMPA:
in R20, SREG;
INC TIMEA;
out SREG, R20;
reti;


/*Код установки таймера счетчика*/
TIME0RIN:
ldi R16, 0x00;// Сбрасываем все флаги таймера
out TIFR0, R16;
ldi R16, (1<<OCIE0A);Установка по совпадению с А;
out TIMSK0, R16;
ldi R16, 0xFF; Устанавливаем значение при совпадении с А
out OCR0A, R16;
ldi R16, (1<<CS02)|(0<<CS01)|(1<<CS00);
out TCCR0B, R16;
rjmp start;
/*Основной код начало программы*/

N0:
cli; ЗАПРЕOFTV ГЛОБАЛЬНЫЕ ПРЕРЫВАНИЯ перед установкой параметров
//инициализация стэка.(установка максимально размера ОЗУ);
ldi R17, RAMEND;
out SPL, R17;

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

На какой частоте работает МK, если 1,2 то с момента первого фронта до отключения прерывания проходит 24 мкСек. И как насчёт импульсных помех. Да и по поводу предыдущих моих цитат вашего кода. Если кусок кода просто есть и не выполняет ничего то не лучше ли его выкинуть отредактировав. Чтоб читающие ваш код не спотыкались об уже оговорённое. Какое питание у вашего Мк (имею в виду стабилизатор линейный/импульсный) У меня были случаи зависания МК при линейном стабилизаторе( атмега8 и тини13 даже wdr не помагал), менял на импульсный и проблема исчезала.

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

Здравствуйте, хотелось бы сразу отбросить аппаратные вопросы.

1. У вас стоит конденсатор между выводами питания контроллера (непосредственно около них, а не где-нибудь за 20 см)? Если нет, то причина зависания может быть именно в этом.

2. У вас контроллер управляет мощной нагрузкой, которая питается от того же источника питания что и контроллер? Если да, то тогда следует развязать питание при помощи диода и электролитического конденсатора, я имею ввиду возможные просадки напряжения при включении мощной нагрузки, которые могут приводить к зависанию контроллера.

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

На какой частоте работает МK, если 1,2 то с момента первого фронта до отключения прерывания проходит 24 мкСек. И как насчёт импульсных помех. Да и по поводу предыдущих моих цитат вашего кода. Если кусок кода просто есть и не выполняет ничего то не лучше ли его выкинуть отредактировав. Чтоб читающие ваш код не спотыкались об уже оговорённое. Какое питание у вашего Мк (имею в виду стабилизатор линейный/импульсный) У меня были случаи зависания МК при линейном стабилизаторе( атмега8 и тини13 даже wdr не помагал), менял на импульсный и проблема исчезала.

В настройках fuses стоит 9,6MHz и также fuses ставлю СLKDIV8 что в суме дает нам частоту 9,6/8=1,2 MHz Как вы вычислили 24 мкСек ? очень интересно. Питание от линейного стабилизатора точнее микросхемы 7805. Вот схема подключения http://savepic.ru/9527162.htm

Стоит попробовать от импульсного запитать, но все схемы с импульсным питанием такие громоздкие :(

Здравствуйте, хотелось бы сразу отбросить аппаратные вопросы.

1. У вас стоит конденсатор между выводами питания контроллера (непосредственно около них, а не где-нибудь за 20 см)? Если нет, то причина зависания может быть именно в этом.

2. У вас контроллер управляет мощной нагрузкой, которая питается от того же источника питания что и контроллер? Если да, то тогда следует развязать питание при помощи диода и электролитического конденсатора, я имею ввиду возможные просадки напряжения при включении мощной нагрузки, которые могут приводить к зависанию контроллера.

1. С7 на 0,1 мкф стоит возле микроконтроллера при запитывании от 7805.

2. Контролер управляет симистором. через который проходит нагрузка которая питается от другова источника. Вот схема http://savepic.ru/9527162.htm

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

Так в том то и проблема, что ограничивать ток по питанию не нужно (микроконтроллер сам возьмет столько, сколько ему нужно), а вот ограничивать ток по выходам (например по выходу контроллера, который управляет симистором) нужно. В результате у вас получается что при открывании симистора (предположим что вам необходим ток 20 мА) Происходит просадка напряжения до 3 вольт, в результате контроллер начинает глючить (причем проблема именно не в том что напряжение опускается до 3 вольт, контроллер и при 3 вольтах может работать, а в самом факте просадок, когда во время просадки при записи информации в регистры, она может быть повреждена или возникающий перепад может спровоцировать срабатывание внешнего прерывания).

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

Так в том то и проблема, что ограничивать ток по питанию не нужно (микроконтроллер сам возьмет столько, сколько ему нужно), а вот ограничивать ток по выходам (например по выходу контроллера, который управляет симистором) нужно. В результате у вас получается что при открывании симистора (предположим что вам необходим ток 20 мА) Происходит просадка напряжения до 3 вольт, в результате контроллер начинает глючить (причем проблема именно не в том что напряжение опускается до 3 вольт, контроллер и при 3 вольтах может работать, а в самом факте просадок, когда во время просадки при записи информации в регистры, она может быть повреждена или возникающий перепад может спровоцировать срабатывание внешнего прерывания).

Хорошое замечание я и не думал о просадки напряжения при открытие. Надеюсь это поможет устранить глюки. Меня смущал тот факт что сама микра работала исправно в начале. а лишь через промежуток времени зависало попробую переделать схему.

Так правильно будет? http://savepic.ru/9537168.png

Вариант управления симистором http://www.microchip...pport/dimm.html

Очень полезная статья спасибо как раз в тему.

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

Как вы вычислили 24 мкСек ?

Кинул ваш код в AVRStudio и посмотрел. С момента первого фронта до отключения прерывания проходит 29 тактов. на частоте 1,2 это и будет 24 мкСек

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

Большое всем спасибо за уделенное время и внимание, Буду переделывать схему под эту http://savepic.ru/9537168.png что из этого выйдет отпишусь.

Как вы вычислили 24 мкСек ?

Кинул ваш код в AVRStudio и посмотрел. С момента первого фронта до отключения прерывания проходит 29 тактов. на частоте 1,2 это и будет 24 мкСек

Та вроде 24 мкСек хватает прежде чем сработает прерывания по спаду.Но лучше всего в обработчике прерываний отключать наверное так:

/*Код прерывания по выводам PCINT*/
PCINT0Z:
ldi R16, (0<<PCIE); отключаем внешнее прерывания PCINT
out GIMSK,R16;
in R20, SREG;
inc PINT;
out SREG, R20;
reti;

Спасибо за замечание очень пригодились.

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

...Но лучше всего в обработчике прерываний отключать наверное так:

Зачем?

С момента первого фронта до отключения прерывания проходит 29 тактов. на частоте 1,2 это и будет 24 мкСек, А при таком отключении прерывания это будет почти моментально.

Хочу попробовать так подключить получиться ? http://savepic.ru/9638274.png

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

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

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

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

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

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

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

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

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

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

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

    • Занятное чтиво, считай "мультиметр своими руками". Не ну а что, были же советские конструкции на кр572пв2) Прецизионные резисторы и В1-12 где-то валяются... Осталось выкрутиться с коммутацией) Чешется иногда.
    • Похоже так, не кто и не подскажет, что это за микруха... 
    • Я извиняю кто тут флудил ! ??  были удаленны другие комменты! , я не поливал не кого грязью, а если вы так считаете напишите жалобу на меня и пусть модератор мне предъявит за нарушение/ за оскорбления и флуд . И касаемо "вчера сделал" после коммента пользователя fessit вспомнил и проверил и все получилось (с ножной напутал тут диод нужен) и также комменты colorad, и Aviator88 всем спасибо. Все работает как надо чего тут выкладывать мне всего-то обычный диод и всё. А что касаемо ваших и подобных комментов это и есть флуд. Устроили охоту на инакомыслящих мол  посмел такой сякой задать вопрос  на техническом форуме о переделки платы зарядки акумов  в светодиодный драйвер какой ужас !!   Поражаюсь блин с таких придираться к словам, и при этом не зная как переделать сразу начинают парировать ошибками автора в тексте запятые, и случайно перепутанные Амперы с мА (Хотя понятно о чем идет речь, но и за это уцепились ) это любимый метод когда по делу толком  нечего сказать, а за изварат и нестандартный подход подколоть что бы ну даже не хочу писать.... А все выпадки мол эта платка не для этого.... ну что тут сказать не надо ограничивать себя мол что подумают или оно якобы не будет работать,название не то... сделал проверил работает! замечательно! да и плевать! зачем покупать, ждать если уже есть под рукой то что тебе нужно!!! и искусственно загонять себя в рамки блин отказываться использовать тпешку только потому что указанно применение для зарядки лития  инакомыслие, богохульство, бред, итд ну дело ваше я не заставляю насильно переделывать. Странно что на тех форуме это вызывает такие вопросы где казалось бы нормально: починить переделать что-то итд. Странные представление что изврат/бред, а что нет учитывая что все, и до переделки всё работало почти отлично.... с каких пор бред не понятно учитывая что все подходит, да в целом нечего дурного нет в этой доработке только польза !! И что-то тут нет подобных высказываний 2е стандарты или инквизиция проворонила  
    • На этой схеме не хватает резисторов, немного открывающих силовые транзисторы. Без них начальный самозапуск  не будет происходить. Поищи их на плате БП.  Они где-то в районе сотни кОм между базой и коллектором.  
    • Может у нас разные были, либо палёный, не будем спорить. У каждого свой вкус.    Ещё слышал, но не слушал, что на TPA3255 хорошие. Присматривал такой как-то. Вы знакомы с таким?
    • Вы самим вообще нормальный??? Под полтинник жалоб!!!!!! Вы чего? Вы говна поели? До утра оставлю сообщение, в надежде на ответ. Но по опыту - никто так и не отпишется...
    • @Vic73 типовая китайская для лент ? биполярники и второй трансформатор ? 
×
×
  • Создать...