Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.04.2008, 17:35
|
|
Прописка
Регистрация: 10.11.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Почему не работает этот код?
Компилятор - CodeVision, пишу такой код:
Код:
|
#define SMS_CENTER "+79037011111"
printf("AT+CSCA="%s"
", SMS_CENTER); |
В итоге фигу получаю, смотрю пустую строку вместо %s в терминале. Почему?
То есть ко мне приходит: AT+CSCA=" ".
Я и указатель, и массив пробовал - что за ерунда? Компилятор такой или у меня руки?
(s)printf features: long, width - параметры проекта
|
|
|
|
24.04.2008, 21:17
|
|
Временная регистрация
Регистрация: 03.11.2006
Сообщений: 64
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
char SMS_CENTER[]="+79037011111" ;
printf("AT+CSCA=%s
", SMS_CENTER);
|
|
|
|
24.04.2008, 21:33
|
|
Частый гость
Регистрация: 14.09.2005
Сообщений: 34
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
А попробуйте так
Код:
|
printf("AT+CSCA=\"%p\"\r\n", SMS_CENTER); |
Из хелпа
Цитата:
|
's' - the function argument is a pointer to a null terminated char string located in SRAM;
'p' - the function argument is a pointer to a null terminated char string located in FLASH;
|
То есть если у Вас объявлена строка-переменная
Код:
|
char SMS_CENTER[]="+79037011111";
тогда
printf("AT+CSCA=\"%s\"\r\n", SMS_CENTER); |
По моему у CodeVisionAVR так.
|
|
|
|
24.04.2008, 21:41
|
|
Прописка
Регистрация: 10.11.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Точно, ребят - спасибо!!!
У меня просто оыпт есть небольшой работы с С , привык что надо %s пользовать и все...
Спасибо!
|
|
|
|
24.04.2008, 21:51
|
|
Частый гость
Регистрация: 14.09.2005
Сообщений: 34
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
По моему, это не кривизна компилятора, а особенность применения C к микроконтроллерам. Из-за того, что у микроконтроллеров разные области памяти в отличие от компьютеров. У других компиляторов свои способы.
|
|
|
|
24.04.2008, 21:56
|
|
Прописка
Регистрация: 10.11.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
А можно я ещё кое-чего спрошу, раз тут знающие люди собрались? Посоветуйте, пожалуйста, хороший терминал для RS232. А то Гипертерминал надоел, он не позволяет в 16м виде смотреть данные, и нельзя набрать данные, и разом отправить...
AccessPort - у меня глючит при отправке, да и вообще не очень. А что ещё хорошего - не знаю.
|
|
|
|
24.04.2008, 22:20
|
|
Частый гость
Регистрация: 14.09.2005
Сообщений: 34
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Не буду говорить "самый лучший",
но, по моему, один из лучших
Bray`s Terminal
домашняя страничка сейчас (2008 04 24)
http://braypp.googlepages.com/terminal
на этой страничке ссылка на архив (277 kB)
http://braypp.googlepages.com/Terminal20080315.zip
Бесплатный.
Позволяет писать скрипты на паскалеподобном языке,
рисовать графики,
готовить несколько макросов для отправки.
|
|
|
|
24.04.2008, 22:52
|
|
Прописка
Регистрация: 10.11.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
СПАСИБО БОЛЬШОЕ!!!
|
|
|
|
25.04.2008, 10:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Я рекомендую 3 более продвинутые проги для COM порта
http://avr123.nm.ru/z4.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:57.
|
|