Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Снова проблема с кодом - чего я опять не учел?

Непрочитано 26.04.2008, 11:28  
greafuger
Прописка
 
Регистрация: 10.11.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
greafuger на пути к лучшему
По умолчанию Снова проблема с кодом - чего я опять не учел?

Всю ночь бился с таким кодом, не могу понять чего я опять не учел (CodeVisionAVR):
Код:
//делаю массив указателей на строки, 
//пока только из 1 строки (потом будет больше)
flash char *Notif_phns[1] = {"+79600000000"};

//потом пытаюсь сравнить в коде одну строку с другой 
//s - указатель на SRAM - там строка с которой сравниваю
strcmpf(s, Notif_phns[0]);
Опять ничего - в Notif_phns[i] мусор. А почему? Мусор разглядываю так: printf("Notif_phns[0]=%p
", Notif_phns[0]);
Чего я опять не учел?
Реклама:
greafuger вне форума  
Непрочитано 26.04.2008, 13:03  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Простите, но Вам нужно не с кодом всю ночь биться (пойдет- не пойдет), а почитать литературу - Керниган и Ричи, например. Первое, что настораживает - это описание чаровского массива
flash char *Notif_phns[1] = {"+79600000000"};
Он у Вас как бы состоит из 1 символа. Похоже, Вы хотите много строчек, тогда используйте двумерный массив, хотя в Вашем случае это нерационально - строчки будут разной длины и в этом случае впустую расходуется память.
Объединяйте в массив

Вот - в качестве примера - похожий проек в иар.

Прикрепленный файл: 4943745.rar
urry вне форума  
Непрочитано 27.04.2008, 01:15  
greafuger
Прописка
 
Регистрация: 10.11.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
greafuger на пути к лучшему
По умолчанию

Тут, кстати, все правильно. Насчет одного символа, так это пришлось бы так объявить:
Код:
char s[1] = 'd';
или так:
Код:
char s1[1][1] = {{'1'}};
А тут я пропустил идентификатор нахождения, то есть вот это:
Код:
flash char * flash Notif_phns[1] = {"+79600000000"};
greafuger вне форума  
Непрочитано 27.04.2008, 07:25  
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от urry
Простите, но Вам нужно не с кодом всю ночь биться (пойдет- не пойдет), а почитать литературу - Керниган и Ричи
Есть он-лайн ! эта книга

на http://avr123.nm.ru/05.htm

Там же и "Си для микроконтроллеров".

прицеп игнорировать - сам прицепился :

Прикрепленный файл: 4943745.rar
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опять деталька (( aversI Поиск схем. Делимся схемами 4 21.10.2009 19:09
помогите с кодом для АВР. язык си. Curt_atmel-proger Микроконтроллеры, АЦП, память и т.д 13 23.08.2007 20:53
Опять защита от коррозии vasseff Делимся опытом 13 14.06.2007 22:02
Опять RS-232! Prime Микроконтроллеры, АЦП, память и т.д 29 30.06.2006 19:12
Дебют в AVR. Что я не учел? Руслан Микроконтроллеры, АЦП, память и т.д 15 29.03.2005 10:31


Часовой пояс GMT +4, время: 22:49.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.