roboforum.ru

Технический форум по робототехнике.

rover p3 бесчеловечные эксперименты и ворклог

Ответить

Myp » 05 май 2007, 15:06

хотя можно сначала второй символ в atoi засунуть
получить число
это число умножить на 10 и к нему прибавить atoi(3й символ)

во   именно так я и сделаю=)

Myp » 05 май 2007, 15:36

блин в примере ннаписано

Код: Выделить всёРазвернуть
minutes_to_event = atoi (argv[1])


а если я делаю
Код: Выделить всёРазвернуть
char pwm, buffer[3];

pwm = atoi(buffer[1])*10+atoi(buffer[2])


пишет ошибку
унсигнед чар несовместим с унсигнед чар
чё делать? :(

я в первый клас по Си не ходил
по этому ничё не  понимаю...

Сергей » 05 май 2007, 19:18

давно не юзал но получиться должно так
Код: Выделить всёРазвернуть
int value = 0;
char* str;
// вводим что нада в str
value = atoi(str);

А msdn качать не нада вовсе! Можно зайти на сайт, и поюзать поиск вбив туда atoi и там и примеры есть и описание, что я не так посоветиовал то??

Myp » 05 май 2007, 19:32

поиск ругнулся и сказал по слову atoi нихренища не найдено=)

Сергей » 05 май 2007, 19:36


Myp » 05 май 2007, 19:46

Вложения
ACDSee6 BMP Image.jpg

Сергей » 05 май 2007, 19:51

нажимаю на мою ссылку, получаю:
Вложения
vot.JPG

Myp » 05 май 2007, 19:51

я по другому сделал
я от нужного символа отнял символ '0'
ну или просто можно отнять 0x30 =)

аврчик помог =))

pwm = (buffer[0] - '0')*10 + (buffer[1] - '0');

Myp » 05 май 2007, 19:51

Сергей писал(а):нажимаю на мою ссылку, получаю:

ну конечно
если на англицком искать англицкие слова
а я на русском искал =)

locale=ru-ru&query=atoi
или
locale=en-us&query=atoi

Сергей » 05 май 2007, 19:52

Вот и хорошо!) Я тоже так делал когдато
ЗЫ, ну конечно на английском!

Myp » 05 май 2007, 19:57

я так и оставлю
мне так понятней чё там делаетсо в коде=)
ато я через месяц уже забуду что такое atoi и зачем оно мне надо было

Vooon » 07 май 2007, 12:42

Myp писал(а):... ато я через месяц уже забуду что такое atoi и зачем оно мне надо было


А комментить кто будет? :)

А ваще вот такой код будет:
Код: Выделить всёРазвернуть
char pwm, buffer[4]; // buffer[] = {'R','2','5','\0'};

//int atoi (char *nptr); // cstring to integer
pwm = atoi(&buffer[1]); // берем '2','5', 0

SSG » 08 май 2007, 10:14

Я, конечно, сильно извиняюся, но а почему команды посылаются именно в таком формате. Три байта на команды - чересчур, ИМХО. Пересылка одно байта дает 256 различных чисел - хватит за глаза и для поворотов, и для движения с разной скоростью и для прочих естественных нужд пушистого робота :lol: . Необязательно же символы анализировать. Можно и их номера в таблице символов.
Присвоить каждому используемому значению собственное имя с помощью define и потом зырить, а не пришло ли от ПК значение Move_Left_speed_100 или, например Destroy_youself :D.
Три символа - это 256^3 разных чисел. Замного. Тока трафик забивать   :lol:

Myp » 08 май 2007, 11:43

а мне так хочетсо

:lol:

MegaBIZON » 08 май 2007, 11:48

Myp писал(а):а мне так хочетсо

:lol:

[off]Я как погляжу, тебе при этом нехило хохочетсо :lol: [/off]


cron
Rambler\'s Top100 Mail.ru counter