|
Модераторы: PILOT, ManiaK, Mazzi |
|
ОВиталий |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
привет всем!
в даташите не нашел команды reset. подскажите, кто знает как сбросить pic32 программно. |
|||
|
||||
Mazzi |
|
|||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Нужно сделать переход по вектору сброса.
что-то вроде:
-------------------- Мне нужны помощники. |
|||
|
||||
ОВиталий |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
и все?а что в том векторе что-то прописывать? Добавлено через 5 минут и 16 секунд не знает сишный компилятор такого вектора... Добавлено через 8 минут и 46 секунд мысль вашу понял, буду ее развивать! спасибо за совет! |
||||
|
|||||
ОВиталий |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
#define _CORE_TIMER_VECTOR 0
как думаете,это и есть вектор сброса? |
|||
|
||||
Mazzi |
|
|||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Я думаю это вектор прерывания от таймера, хотя не уверен. Посмотрите документацию на ваш контроллер, там должно быть указано с какого адреса начинается выполнение программы по сбросу. Чаще всего это адрес равен нулю, хотя бывают и исключения. На этот адрес вам и нужно перейти с помощью безусловного перехода. Это будет полноценный сброс. -------------------- Мне нужны помощники. |
|||
|
||||
UniBomb |
|
|||
Новичок Награды: 1 Профиль Группа: Участник Клуба Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
Нет, это не будет полноценный сброс... Простите что я (аврщик) влазаю в эту замечательную дискуссию, но я в своём устройстве когда то тоже так делал программный сброс. Столкнулся я тогда с небольшими глюками, типа программа в определённые моменты ведёт себя неправильно, иногда не вызывались нужные функции и т.д. Посему истинно правильный программный сброс - включить сторожевой таймер и уйти в бесконечный цикл. Вот после сброса по срабатыванию от сторожевого таймера всё работало как часы. |
|||
|
||||
Mazzi |
|
|||
Правильный Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Да, пожалуй вы правы. Помимо программного сброса, там ещё значения разных регистров могут аппаратно сбрасываться. Мой вариант годится для сброса только программы. Помимо сторожевого таймера можно ещё соединить вывод сброса с выводом ввода/вывода, и в случае необходимости дёргать им за вывод сброса. -------------------- Мне нужны помощники. |
|||
|
||||
UniBomb |
|
|||
Новичок Награды: 1 Профиль Группа: Участник Клуба Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
Моё такое мнение, что в подобных системах сам мк и его программа связаны между собой намного теснее, чем скажем в компютерах. Просто сброс программы не имеет смысла и даже больше - он (сброс этот) даже вредит ей (программе). Связано это с большим числом факторов, будь то:
Если соединения ножки с выводом ресета тоже не всё гладко - в случае наличия кнопки сброса надо будет встремлять дополнительные элементы, дабы не вызвать КЗ в случае если скажем кнопка нажата, а на выводе сигнал установлен в "1". Да и потом подобная схема ещё не гарантирует требуемую длительность импульса сброса - после того, как на этой ножке появился "0" мк уходит в ресет и тут эта ножка переходит в третье состояние. Тут признаться я не знаю что будет, но скорее всего такое срабаотывание не может быть стабильным. Посему единственно верный способ - использовать сторожевой таймер, который кстате говоря и создан для этого. В этом случае не надо ничего дополнительного мутить ни программно, ни аппаратно. |
|||
|
||||
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |