Список разделов Flyback.org.ru » не HV » Микроконтроллеры и всё, что с ними связано
Тему сейчас просматривают - зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегестрированные - Нет
Ответить с цитатой

Николай
 


а чего его фотать - мелкая дрянь в sot23-5 с надписью на брюхе c06f

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

а почему он ответ не слышит? до лапы контроллера самого программатора сигнал доходит

и надо же было сначала сначала БП подключить, а потом его только включать - а там 15В ссука накручено.

Добавлено: Sun Jan 29, 2017 10:02 pm
Ответить с цитатой

SilverRay
 


А ресетом он нормально дергает?

Добавлено: Sun Jan 29, 2017 10:04 pm
Ответить с цитатой

Николай
 


да. на ресете ноль, потом еденичка, потом опять ноль.
SCK импуьсов примерно 30...40
на MOSI\MISO пачка из нулей и денениц но маленькая штук 6 всего

Добавлено: Sun Jan 29, 2017 10:07 pm
Ответить с цитатой

Денис
 


15В куда подал - на питание программатора? На питании контроллера программатора (после стабилизатора) сейчас сколько?

Добавлено: Sun Jan 29, 2017 10:20 pm
Ответить с цитатой

SilverRay
 


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

Добавлено: Sun Jan 29, 2017 10:21 pm
Ответить с цитатой

Николай
 


15В со стороны прошиваемой микры, т.е. в обратку программатору. на контроллере 5В. уровни сигналов тоже все 5В
никаких стабилизаторов найдено не было вообще.

так сигнатуру опознает софт. он ее просто читает.

Добавлено: Sun Jan 29, 2017 10:27 pm
Ответить с цитатой

Денис
 


Микры-буфера на плате программатора нет? Которая между контроллером программатора и прошиваемым МК?
Если нет, остается только выгорание входа MISO у программатора. На всех 3 линиях амплитуда 5 Вольт при попытке прошивки (SCK, MOSI, MISO)?

Добавлено: Sun Jan 29, 2017 10:33 pm
Ответить с цитатой

TAN
 


Николай, посмотри, что приходит с 06х на вход МК,который на плате программатора. Скорее всего, сгорели эти буферы. Они там именно для этого стоят.

Добавлено: Sun Jan 29, 2017 10:34 pm
Ответить с цитатой

Николай
 


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

Добавлено: Sun Jan 29, 2017 11:13 pm
Ответить с цитатой

Ivani
 


Появились подделки/брак DS1307 DS1307+ DS1307N+
От оригинала отличается внешним видом - слева подделка, у нее по периметру гладкая отражающая поверхность, отличающаяся надпись и отсутствием внутри нагрузочных конденсаторов кварца (CL).
Подделка с кварцем 2*6 скачет в 2-10 раз быстрее, с кварцем 3*8 бежит вперед на 1-3 минуты в сутки.
Лечится добавлением нагрузочных конденсаторов кварца снаружи микросхемы, у меня по 10 пФ.


Николай писал(а):
сдох по ходу стабилизатор c06f но что это за хуйня - в даташитах не нашел. четырехлапая мелкая
Николай писал(а):
мелкая дрянь в sot23-5 с надписью на брюхе c06f
По этому фотку и просил.

Добавлено: Mon Jan 30, 2017 11:48 am
1307.jpg (59.59 Кб)

DS1307.jpg (92.09 Кб)

Ответить с цитатой

Николай
 


столкнулся с траблой с ватчдогом. на тиньке. интервал 8сек. в таймерном прерывании между делом делается wdt_reset
все бы ничего. и в протеусе катается нормально. кроме всего прочего решил использовать для полноценного ресета контроллера. т.е. прекращаем резетить и через 8сек полноценный ресет и реинициализацией всей периферии.
но прошив в железо дождавшись сработки - вместо сброса началось хуйпойми какое мигание выходами и полная неработоспособнось. дальше код не шел, но и резета не было.
что за хуйня. почему собака может не резетнуть?

Добавлено: Thu Feb 02, 2017 12:46 am
Ответить с цитатой

Ivani
 


"The Watchdog always on (WDTON) fuse, if programmed, will force the Watchdog Timer to Sys￾tem Reset mode. With the fuse programmed the System Reset mode bit (WDE) and Interrupt
mode bit (WDIE) are locked to 1 and 0 respectively. "
Он у тебя наверно прерывание создает вместо ресета.

Добавлено: Thu Feb 02, 2017 9:46 am
2017-02-02_09-45-23.png (25.89 Кб)

Ответить с цитатой

Николай
 


Фьюз не ставил. Из программы ставил wde. Wdie не трогал. В протеусе резет происходит. Кстати а разве не установленые прерывания не просто заглушки reti ?

Добавлено: Thu Feb 02, 2017 11:58 am
Ответить с цитатой

Ivani
 


В микроконтроллерах я плохо разбираюсь, но помню, что watchdog может не только ресет жать.

Добавлено: Thu Feb 02, 2017 12:21 pm
Ответить с цитатой

Николай
 


Либо ресет либо как таймер генерящий прерывание. Но его прошу быть резетом. В эмуляторе норм а в железе коефуз вышел.

Добавлено: Thu Feb 02, 2017 12:43 pm
Ответить с цитатой

Warlock_Wolf
 


AVR несколько лет не трогал. вот что делал когда-то

void WDT_off(){
asm("cli");
asm("wdr");
//MCUSR &=~0x8;
WDTCR |= 0x18;
WDTCR=0;
asm("sei");
}
void WDT_on(){
asm("cli");
asm("wdr");
WDTCR |= 0x18;
WDTCR=0xf;
asm("sei");
}

в майне после всех инициализаций

WDT_on();
asm("sei");
while(1){
asm("wdr");

тело кода
}

но даже не спрашивай что здесь зачем. просто не вспомню. да это в IARе писано.

Добавлено: Thu Feb 02, 2017 10:43 pm
Ответить с цитатой

Денис
 


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

Код:

sprintf(string, "АБВГД = ");
lcd_type(0, 0, string);

sprintf(string, "%i", 59);
lcd_type(0, 9, string);


На дисплее получим что-то вроде "АБВГД = 59ГД = ", т.к. "59" перезаписало только первые три элемента строки.

Что с этим сделать? Неужто каждый раз надо вызывать sprintf() дополнительно, и писать в массив пустую строку (" ") ?


Добавлено: Sat Feb 11, 2017 10:25 pm
Ответить с цитатой

perezx
 


Ну так длину-то строки кто отслеживать будет?

Добавлено: Sat Feb 11, 2017 11:07 pm
Ответить с цитатой

SilverRay
 


Длина строки-то отслеживается. Вот только lcd_type, полагаю, совсем не обязан очищать те знакоместа на индикаторе, символы которых не входят в строку. Не его это как бы задача -- ему сказали, он вывел строку заданной длины. А остальное уже дело программиста.

Добавлено: Sat Feb 11, 2017 11:20 pm
Ответить с цитатой

Денис
 


Если бы массив string очищался кадый раз перед записью новой строки, лишних атавизмов вообще бы не было.

Как тогда лучше поступать?
Сейчас все четко работает, только если каждый раз чистить буферный массив:

Код:

sprintf(string, "АБВГД = ");
lcd_type(0, 0, string);

sprintf(string, "                ");  //чистим массив string[16]

sprintf(string, "%i", 59);
lcd_type(0, 9, string);

sprintf(string, "                ");  //чистим массив string[16]


Это выглядит тупо, но ничего умнее я не придумал.
Команда string[0]='\0'; почему-то не работает как хотелось.

Может вы чего посоветуете.


Добавлено: Sun Feb 12, 2017 12:14 am
Ответить с цитатой

ptk2003
 


SilverRay писал(а):
Длина строки-то отслеживается. Вот только lcd_type, полагаю, совсем не обязан очищать те знакоместа на индикаторе, символы которых не входят в строку.
именно так, во всяком случае в CAVR.
перед использованием lcd_puts() (заменяет sprintf() и lcd_type()) - lcd_clear() если не нужно что-то дописать.
иначе gotoxy() и посимвольно циклом стирать/писать.

Добавлено: Sun Feb 12, 2017 4:39 pm
Ответить с цитатой

Денис
 


Заебись! Разобрался со строками. Библиотеку для дисплея писал самопальную, она не отслеживала символ конца строки хD
А функция sprintf() как раз ставит этот символ в выходной массив string[16] в нужном месте, где кончился вывод. Чайник, чо смех

В итоге получилось сделать человеческую библиотеку для дешевых TFT и конструкции должны заиграть новыми красками восторг Ширина символа динамическая, что делает строку компактенее раза в полтора-два. время заполнения ВСЕХ знакомест дисплея чуть более 0.1с. Само собой, в реальных проектах постоянно обновляются только цифры, т.е. еще на пару порядков быстрее.

Алсо, можно запихнуть любой шрифт с компа, на фото Verdana 14 пикселей/символ.

=====
ps что характерно, в интернетах почти пропадает культура прогать просто под AVR, статьи по ардуино засирают результаты поиска инфы на 98%.
Если у кого-то из новичков в МК, как и у меня, не будет хватать опыта - пишите, скину исходники. Без больших заморочек можно переделать на подобные SPI-дисплеи другого разрешения.

Сейчас посмотрел на али, за месяцы, которые я вяло ковырял этот 1.44 дюйма дисплей, в тренде уже дешевые 2.4 дюйма - за 220 руб сейчас можно заказать 2.4" с тачскрином ужас

Добавлено: Sun Feb 12, 2017 4:59 pm
20170212_162228-1.jpg (75.17 Кб)

Ответить с цитатой

Break_Neck
 


Попоробовал 500к can на stm32f072 с внутренним RC геном на 8мГц и умножением на 6. Морозил фризером, грел феном. Нормально работает - передавал пакеты с интервалос 200 мс с своего девайса на стм - принимал кан-анализатором. За час с копейками нет потерь Smile

Добавлено: Wed Feb 22, 2017 8:07 pm
Ответить с цитатой

Николай
 


мож кому поможет в ловле глюков -

столкнулся с одним странным поведением тиньки, раньше ресеты паял напрямую к плюсу, все работало, а это решил на новой печатке не соединять. а фьюзами от лапки отключил и все.
схема - пульт с питанием от 2х CR2032, тинька дергает полевик, который подключает ИК диодики. яркость максимальная, 2 диода напрямую к двум последовательным батарейкам. соответвенно большая помеха по питанию, порядка 2...3В амплитудой. но все идеально работает.
кнопки подключены ко второй и третьей лапке, замыкают на минус
а вот когда резет не привязан к плюсу напрямую, а на вторую (рядом с резетом) лапку подаем минус - контроллер виснет. когда минус идет на третью - все отрабатывает нормально.
стало быть какая-то паразитка есть внутри между второй и первой ножкой контроллера.

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

вот такая инфа.

Добавлено: Wed Feb 22, 2017 10:10 pm
Ответить с цитатой

ptk2003
 


Николай писал(а):
если резет не припаян жестко к плюсу
Это висит в воздухе или даташитный вариант тоже глючит?
10.2.6, неподключенные выводы (подключать к питанию через внутренний или внешний резистор).

Добавлено: Wed Feb 22, 2017 10:35 pm
Список разделов Flyback.org.ru » не HV » Микроконтроллеры и всё, что с ними связано
На страницу Пред.  1, 2, 3 ... 93, 94, 95 ... 151, 152, 153  След.     Просмотр темы целиком



Лицензионное соглашение

(c)Flyback.org.ru
Российское общество любителей высоких напряжений.
Использование материалов с данного сайта и форума возможно только с разрешения администрации.