реклама на сайте
подробности

 
 
> atmega88pa, принудительный сборос - програмно
max_mart
сообщение Oct 8 2012, 09:06
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 248
Регистрация: 30-09-11
Пользователь №: 67 474



всем привет,

Необходимо ресетить мегу. Как это можно реализовать через проограмму, принудительно по необходимости, например, при проверке одного флага, в определенный момент времени?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Oct 10 2012, 18:36
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



А иногда и озабоченность озабачивание даже если этим озаботиться, то все равно разница с аппаратным сбросом будет, и существенная.
Например
Цитата(ATmega88PA doc)
• Bit 3 – TXENn: Transmitter Enable n
Writing this bit to one enables the USART Transmitter. The Transmitter will override normal port operation for the TxDn pin when enabled. The disabling of the Transmitter (writing TXENn to zero) will not become effective until ongoing and pending transmissions are completed, i.e., when the Transmit Shift Register and Transmit Buffer Register do not contain data to be transmitted. When disabled, the Transmitter will no longer override the TxDn port.
Т.е. даже если записать «сбросовое» значение 0x00 в UCSR0B, передатчик ещё будет передавать недопереданное. Куда-то в астрал, так как ножка отключится, но кто его знает, как там себя автоматы поведут, если до конца передачи опять проинициализировать USART либо даже не занулять UCSR0B а просто заново записать то, что нужно.
Как миниум, аккуратненько взведётся (вполне возможно не ожидаемый ещё программой) флаг TXC.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- max_mart   atmega88pa   Oct 8 2012, 09:06
- - RabidRabbit   Соеденить какую-нибудь ногу GPIO с RESET, не?   Oct 8 2012, 09:40
|- - prottoss   Цитата(max_mart @ Oct 8 2012, 15:06) ...п...   Oct 8 2012, 12:41
|- - V_G   Цитата(prottoss @ Oct 8 2012, 22:41) Лучш...   Oct 8 2012, 13:28
|- - prottoss   Цитата(V_G @ Oct 8 2012, 19:28) Ну, и зде...   Oct 8 2012, 14:07
- - kovigor   Цитата(max_mart @ Oct 8 2012, 12:06) Необ...   Oct 8 2012, 10:07
- - DmitryM   Цитата(max_mart @ Oct 8 2012, 13:06) Необ...   Oct 8 2012, 10:12
- - Xenia   Ззапретить прерывания, завести Watchdog на самую к...   Oct 8 2012, 10:48
|- - demiurg_spb   Под avr-gcc для любых AVR. Кодstatic inline void N...   Oct 8 2012, 11:44
- - max_mart   спасибо огромное   Oct 8 2012, 11:50
- - max_mart   Ram и все регитсры сбрасываются или сохраняются ...   Oct 8 2012, 15:15
|- - prottoss   Цитата(max_mart @ Oct 8 2012, 21:15) Ram ...   Oct 8 2012, 15:26
|- - ReAl   Цитата(prottoss @ Oct 8 2012, 18:26) Сбро...   Oct 8 2012, 17:30
- - max_mart   т.е. значит флаги и некоторые переменные придется ...   Oct 8 2012, 15:57
|- - prottoss   Цитата(max_mart @ Oct 8 2012, 21:57) т.е....   Oct 8 2012, 16:00
|- - _Артём_   Цитата(max_mart @ Oct 8 2012, 18:57) т.е....   Oct 8 2012, 16:02
- - max_mart   Ну я обычно сразу в переменную 0х00 прописываю при...   Oct 8 2012, 16:30
|- - prottoss   Цитата(max_mart @ Oct 8 2012, 22:30) Ну я...   Oct 8 2012, 16:34
|- - _Артём_   Цитата(max_mart @ Oct 8 2012, 19:30) vola...   Oct 8 2012, 16:47
- - max_mart   Артем Т.е. вы хотите сказать, что она все время бу...   Oct 8 2012, 16:59
|- - _Артём_   Цитата(max_mart @ Oct 8 2012, 19:59) хоти...   Oct 8 2012, 17:20
- - esaulenka   Во-первых, обнулять глобальные (не локальные!)...   Oct 8 2012, 17:06
- - max_mart   Кстати, а флаг WDRF регистра MCUSR, сохраняет свое...   Oct 8 2012, 17:24
|- - _Артём_   Цитата(max_mart @ Oct 8 2012, 20:24) Кста...   Oct 8 2012, 17:27
- - max_mart   ну значит сделаю тогда, так if (!(MCUSR&0b...   Oct 8 2012, 17:43
- - ReAl   MCUSR = 0; сделать всегда, так как оставшийся от с...   Oct 8 2012, 17:50
- - max_mart   только для сброса контроллера. Сначала инициализир...   Oct 8 2012, 18:01
|- - _Артём_   Цитата(max_mart @ Oct 8 2012, 21:01) Снач...   Oct 8 2012, 20:13
- - max_mart   Да и еще момент: Не может быть такого, что дапусти...   Oct 8 2012, 19:36
- - max_mart   Артем, Как тогда посоветуете правильно его отключи...   Oct 9 2012, 04:58
|- - _Артём_   Цитата(max_mart @ Oct 9 2012, 07:58) Как ...   Oct 9 2012, 14:56
- - max_mart   Почему 1??? Когда в описании написано 0! Цита...   Oct 9 2012, 16:35
|- - _Артём_   Цитата(max_mart @ Oct 9 2012, 19:35) Поче...   Oct 9 2012, 16:49
- - abi   Вариант без WDT Код__disable_interrupt(); ...   Oct 9 2012, 22:08
|- - _Артём_   Цитата(abi @ Oct 10 2012, 01:08) Вариант ...   Oct 9 2012, 23:49
|- - abi   Цитата(_Артём_ @ Oct 10 2012, 03:49) Это ...   Oct 10 2012, 02:40
|- - _Артём_   Цитата(abi @ Oct 10 2012, 05:40) В любом ...   Oct 10 2012, 11:44
- - vgo1   А нельзя по флагу сделать переход на самое начало ...   Oct 11 2012, 16:40
- - prottoss   Цитата(vgo1 @ Oct 11 2012, 22:40) А нельз...   Oct 11 2012, 16:55


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 22:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016