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

 
 
> printf(), в чем ошибка?, странное поведение...
Варяг
сообщение Sep 14 2011, 04:10
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 4-04-11
Из: челябинск
Пользователь №: 64 111



Здравствуйте! есть такая проблема, которую я победил, но интересно, почему она возникла:
передаю по УАРТ строки для GSM модуля. соответственно, первая строка передает номер объекта:

printf ("AT+CMGS=%c%c79517746909%c%c", 34,43,34,13); // эта строка передается нормально и без ошибок

далее надо передать строку сообщения и в конце передать символ возврата каретки 26:

printf ("Save Our Souls!!!%c%c", 26,13); //

но почему-то контроллер периодично передает
Save Our Soul!
Save Our Sou!!
Save Our So!!!
и так далее... но это исправилось повторной передачей символа 26 через 300 мс:

printf ("Save Our Souls!!!%c%c", 26,13);
delay_ms(300);
printf ("%c", 26);
так в чем же может быть проблема, если символы 34,43,34,13 передаются наура?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Sep 14 2011, 10:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Варяг @ Sep 14 2011, 08:10) *
так в чем же может быть проблема...?

Первую строку можно без проблем передавать так:
Код
printf ("AT+CMGS=\"+79517746909\"\r");

Почему нет реакции на символ <Сtrl/Z> (код символа 26)? Может быть, потому, что за ним не должен следовать символ с кодом 13 ("\r") ?
Код
printf ("Save Our Souls!!!%c", 26);
Go to the top of the page
 
+Quote Post



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

 


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


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