Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

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

 
Опции темы
Непрочитано 15.10.2006, 11:39  
maxNTF
Вид на жительство
 
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
maxNTF на пути к лучшему
По умолчанию массив в качестве аргумента функции

Пишу в PICC 9.50
Почему не получается передаватьть массив в качестве аргумента. Вот мой код
Код:
void seyAT(char AT[]);
...
...
seyAT("AT+CPBR=1;15");
...
...
void seyAT(char AT[])
{
int i=0;
while (i‹sizeof AT)
		{
		while(TXIF!=1) continue;
		TXREG=AT[i];
		i++;
		}
}
Главное Build проходит без ошибок, а функция не работает.
Если все делаю в одном месте то все работает
Код:
...
int i=0;
char AT="AT+CPBR=1;15";
while (i‹sizeof AT)
		{
		while(TXIF!=1) continue;
		TXREG=AT[i];
		i++;
		}
...
Реклама:
maxNTF вне форума  
Непрочитано 15.10.2006, 16:28  
Fallout
Частый гость
 
Регистрация: 14.07.2006
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
Fallout на пути к лучшему
По умолчанию

Ну ты конечно можешь сделать аргумент char *AT но думаю дело не только в этом.....

sizeof(AT) - ты не можешь вызывать в даном случаи тобишь явного объявления масива не было и компилятор
не может знать его размер... замени на strlen ... для того что бы получить длину строки.... а лучше передовать отделньым параметром

char *s = "Test";

seyAT( s, strlen( s ) );


void seyAT(char *szAT, char cSize)
{
int i= 0;
while (i‹ cSize)
{
while(TXIF!=1) continue;
TXREG=szAT[i++];
}
}



############
по поводу второго кода опять ошибки..

int i=0;
char *AT="AT+CPBR=1;15";
/* строка это адрес на символы так что присваивать надо этот адрес на соовтествующий указатель... опять таки sizeof не будет показывать размер строки .... ибо эта операция статическая то бишь компилятору надо зарание знать размер типа в твоем случаи это вообще будет 1... ибо sizeof( CHAR ) а АТ у тебя именно такого типа была, будет возращено 1....
*/

while (i‹ strlen( AT ) )
{
while(TXIF!=1) continue;
TXREG=AT[i];
i++;
}
Fallout вне форума  
Непрочитано 16.10.2006, 16:50  
paha1956
Временная регистрация
 
Регистрация: 17.05.2006
Сообщений: 72
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
paha1956 на пути к лучшему
По умолчанию

Fallout прав.

Пошаговую отладку ещё никто не отменял, сорри...

А вообще окончание строкового массива лучше мерять по коду "0". Этим кодом строковые массивы ограничиваются.
__________________
"Имею честь иметь Вашу честь в своём доме..."
paha1956 вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Камера от мобильника в качестве webcam. Degradent Видеотехника 20 15.06.2009 13:16
Полевик в качестве ключа? maxNTF Электроника - это просто 33 03.03.2009 10:42
Конвертер(редактор) графики в массив. Kabron Микроконтроллеры, АЦП, память и т.д 7 19.10.2008 22:18
как записать строку в массив? dimonbest Микроконтроллеры, АЦП, память и т.д 8 27.02.2008 12:18
как записать массив 50 на 16 в еепром atmega128& sma-etu Микроконтроллеры, АЦП, память и т.д 0 15.02.2007 16:05


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot