Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 31 из 31
  • «
  • 1
  • 2
  • 29
  • 30
  • 31
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите разобраться новичку (как правильно?)
Помогите разобраться новичку
HCT Дата: Пн, 21.06.2021, 15:49  |                                                                                                                Сообщение # 451
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 33
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Спасибо большое! Читать-то читал, но на ассемблерные примеры как-то не очень внимание обратил. Так, мельком глянул. Искал в текстах и таблицах.
Про таймер я помню, но решил оставить на потом, пусть пока быстрее считает, но работает так, как мне хочется.

Добавлено (24.06.2021, 11:42)
---------------------------------------------
Доброго здоровья добрым людям!ivan_fd,  посмотрел внимательно даташит. Вот результат: T1CON = %00100101        'Настроим предделитель для TMR1 и включим таймер- - - -If b = 25 Then        'а если переменная b стала равна 10, то  b = 0                 'обнулить ее Inc b1                'и увеличить b1 EndIf Не знаю, правильно или нет, но очень похоже на то, что надо.

Добавлено (24.06.2021, 11:56)
---------------------------------------------
Вот фигня получилась! Хотел как лучше, а получилось как всегда. Заготовил сообщение в Ворде, скопировал сюда и вышло что попало. И кнопки редактировать нет. Так что остается принести свои извинения за эту белиберду.

Сообщение отредактировал HCT - Пн, 21.06.2021, 17:21
ЯНДЕКС Дата: 21.06.2021
ivan_fd Дата: Пт, 25.06.2021, 16:06  |                                                                                                                Сообщение # 452
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1168
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата HCT ()
Не знаю, правильно или нет, но очень похоже на то, что надо.

Близко, но не точно.

По вашим настройкам выходит прерывание каждые 40,012мс.

Настройте так:

Код
T1CON = %00010101        'предделитель - 1:2

Sch_Pr:
Context Save          'Сохраним регистры STATUS и аккумулятор
TMR1L = $b0           'Зададим значение младшего регистра TMR1
                       
TMR1H = $3c           'Значение старшего регистра TMR1

If FlagPS = 1 Then    'Если разрешен старт,  
Inc b                 'то увеличиваем b на единицу
EndIf                       

If b = 10 Then        'а если переменная b стала равна 10, то
b = 0                 'обнулить ее
Inc b1                'и увеличить b1
EndIf
...................

Тут прерывание точно 100мс, со всеми вытекающими.


Меня все время преследуют умные мысли...но я быстрее!!!
HCT Дата: Пт, 25.06.2021, 18:30  |                                                                                                                Сообщение # 453
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 33
Репутация: 0   ±
Замечания:   ±
На сайте с 05.10.2014

Статус: Offline

Спасибо большое,  ivan_fd, еще надо читать литературу,. Человеческое нетерпение мешает, хочется быстрее закончить, не затрачивая время на обучение.
Anatoliy1000 Дата: Пн, 06.09.2021, 11:39  |                                                                                                                Сообщение # 454
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 188
Репутация: 0   ±
Замечания:   ±
На сайте с 02.03.2016

Статус: Offline

Здравствуйте! Столкнулся с такой проблемой.
Был у меня проект. Сработка (включение света) по микроволновому датчику. Все нормально работало 3-4 месяца. Потом приезжаю на дачу, а МК "умер". Возможно перепады напряжения, но питание шло от хорошего зарядника сотового + диод понижающий напряжение и предотвращающий переплюсовку.
Кроме того при пробах на макетке часто бывает, что не отключая питание подключаю какой-нибудь датчик или отключаю, а МК начинает нагреваться, хотя ни каких признаков КЗ нет. Вот и подумал, что нужно начать осваивать СТОРОЖЕВОЙ ТАЙМЕР. Принцип его работы вроде понятен, но как применить для своего проекта пока не пойму. Задача, не допустить "умирания". То есть возможно нужна проверка на работоспособность (выполнение цикла) и в случае чего перезагрузка.
Так или нет? Есть маленькие примеры?
Прикрепления: var5.bas(7.1 Kb)


Я новичок. За помощь стараюсь плюсовать репутацию (пока других способов сказать спасибо не знаю).
ivan_fd Дата: Пн, 06.09.2021, 15:27  |                                                                                                                Сообщение # 455
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1168
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Сторожевой таймер вам от умирания контроллера не поможет. WDT помогает от зависания и то не 100%. Бывает, что и он зависает.  Вот у меня есть стабилизатор напряжения, для ТЕНа. Там я включил WDT. Нельзя, что бы МК завис. А вот в в часах, на матричных индикаторах, я его не включал, хотя и не мешало бы. И часы работают без зависаний у же лет 5, а может и больше.
И я, что то не пойму, почему МК должен нагреваться при подключении, или отключении датчиков? Значит в схеме есть, что то не верно и при опросе того, или иного датчика порт МК имеет перегрузку по току.

А то, что у вас МК умер, может гроза была?


Меня все время преследуют умные мысли...но я быстрее!!!
xvovanx Дата: Вт, 07.09.2021, 09:35  |                                                                                                                Сообщение # 456
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 460
Репутация: 55   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата ivan_fd ()
И я, что то не пойму, почему МК должен нагреваться при подключении, или отключении датчиков? Значит в схеме есть, что то не верно и при опросе того, или иного датчика порт МК имеет перегрузку по току.

Согласен. Тут либо на пин контроллера попадает повышенная напруга, которая через внутренний защитный диод соединенный со своим питанием, нагревает его. Либо на пин (выход!) контроллера попадает напруга, конфликтующая по уровню.
Цитата ivan_fd ()
WDT помогает от зависания и то не 100%

На 100% от зависания можно избавиться, если придумать схему - при работе чипа одной ногой постоянно генерить импульсы, которые будут разряжать кондер в цепи ключевого транзистора, который в свою очередь при остановке подаст импульс сброса на MCLR.
Помнится мне в старых компах были даже отдельные микросхемы, которые организовывали систему сброса процессоров.

Сообщение отредактировал xvovanx - Вт, 07.09.2021, 09:43
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Помогите разобраться новичку (как правильно?)
  • Страница 31 из 31
  • «
  • 1
  • 2
  • 29
  • 30
  • 31
Поиск: