ватчдог в прерывании по концу приёма на уарт

AVR версия программы

ватчдог в прерывании по концу приёма на уарт

Сообщение 1945 (1945) » 09 фев 2019, 06:40

Здравствуйте! помогите решить проблему
В начале программы настройка ватчдога на 2.2 секунды
затем идут настройки ЖСМ модуля и естественно обмен по уарту
в конце ассемблерская команда на сброс ватчдога.
Почему происходит конфликт и ватчдога всё время ресетиттся через каждые 2 милисекунды а не через 2.2 секунды
Ник: 1945
Имя: 1945
(Тольятти)
Ученик
Ученик
Информация о пользователе

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение pav13 (pav13) » 09 фев 2019, 07:22

Ну серьёзно?? Опять догадываться? Файлы, где файлы?
Изображение
FC AVR 5.5.2.1 + исправления / Proteus 8.8 / AtmelStudio 7
drive.google.com/open?id=1zOOA1dH952RegF1N4-jipYkr13iuToSY
Аватар пользователя
Ник: pav13
Имя: pav13
(Тёмовск)
Ученик
Ученик
Информация о пользователе

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение 1945 (1945) » 09 фев 2019, 07:50

Flowcode1.fcf_avr
извините отсылаю файлы
протеус - но какой в нём смысл без модуля
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: 1945
Имя: 1945
(Тольятти)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение pav13 (pav13) » 09 фев 2019, 08:17

вместо send char 0x0D для отправки просто пиши в конце send string \r,например было "AT+CMGF=1" - стало "AT+CMGF=1\r".так проще.

скомпилировал. поудалял все циклы в которых incomcall не должна быть чему-то равна, чтобы программа могла работать без модуля. всё ок. сброс каждые 2 секунды.
Изображение
FC AVR 5.5.2.1 + исправления / Proteus 8.8 / AtmelStudio 7
drive.google.com/open?id=1zOOA1dH952RegF1N4-jipYkr13iuToSY
Аватар пользователя
Ник: pav13
Имя: pav13
(Тёмовск)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение 1945 (1945) » 09 фев 2019, 08:24

pav13 писал(а):вместо send char 0x0D для отправки просто пиши в конце send string \r,например было "AT+CMGF=1" - стало "AT+CMGF=1\r".так проще.

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

да но тогда теряется весь смысл использования ватчдога - он мне нужен для сброса МК если длина ответа от модуля не
равна указанной в цикле. Я его для этого и хотел использовать............
как делать проверку ответа от модуля если не так?
Ник: 1945
Имя: 1945
(Тольятти)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение pav13 (pav13) » 09 фев 2019, 08:35

какое-то странное применение собаки. ну да ладно. с этими циклами сброс тоже каждые две секунды. ничего не изменяет период на 2 мс.
где смотрели период сброса?
Последний раз редактировалось pav13 09 фев 2019, 08:37, всего редактировалось 1 раз.
Изображение
FC AVR 5.5.2.1 + исправления / Proteus 8.8 / AtmelStudio 7
drive.google.com/open?id=1zOOA1dH952RegF1N4-jipYkr13iuToSY
Аватар пользователя
Ник: pav13
Имя: pav13
(Тёмовск)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение 1945 (1945) » 09 фев 2019, 08:37

pav13 писал(а):какое-то странное применение собаки. ну да ладно. с этими циклами сброс тоже каждые две секунды. ничего не изменяет период на 2 мс.

ну а как тогда узнать что модуль воспринял команду от МК ?
всегда нужно дождаться ответа от модуля
Что не зная как ответил модуль идти дальше по программе?
Ник: 1945
Имя: 1945
(Тольятти)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение pav13 (pav13) » 09 фев 2019, 08:38

что за модуль?
Изображение
FC AVR 5.5.2.1 + исправления / Proteus 8.8 / AtmelStudio 7
drive.google.com/open?id=1zOOA1dH952RegF1N4-jipYkr13iuToSY
Аватар пользователя
Ник: pav13
Имя: pav13
(Тёмовск)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение 1945 (1945) » 09 фев 2019, 08:40

pav13 писал(а):что за модуль?

сим800l
Ник: 1945
Имя: 1945
(Тольятти)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: ватчдог в прерывании по концу приёма на уарт

Сообщение pav13 (pav13) » 09 фев 2019, 08:48

тот файл, который я давал ранее в другой теме - это прерывание по завершению приема по uart ответа от модуля.
после каждой посланной мной кокоманды модулю стоит макрос в котором идёт счет времени(время считается в другом прерывании по таймеру) например 15 секунд. т.е. программа ожидает ответа в течении этого времени, если его нет или пришел другой ответ, то что-то не так и вывод ошибки. в процессе ожидания проверяется переменная conformity, которая является результатом сравнения двух строк(принятой и нужной для сравнения в зависимости от поданной команды, нужная строка определяется переменной .compare_word).
Изображение
FC AVR 5.5.2.1 + исправления / Proteus 8.8 / AtmelStudio 7
drive.google.com/open?id=1zOOA1dH952RegF1N4-jipYkr13iuToSY
Аватар пользователя
Ник: pav13
Имя: pav13
(Тёмовск)
Ученик
Ученик
Информация о пользователе
Вернуться наверх


Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: tandrey