roboforum.ru

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

Нужна помощь по СИ.

Re: Нужна помощь по СИ.

Сергей » 17 апр 2008, 11:38

Чтобы написать программу - нужно знать алгоритм, ибо если ты хочешь управлять сервами незнаю как то у тебя ничего не получица даже если тебе дадут исходник.

Re: Нужна помощь по СИ.

denissyslo » 17 апр 2008, 12:30

ДА Я разобрался!!!! у меня все 6 серв отлично руляться, только запрограммировано это по очень тупому алгоритму:
даем в порт 1, ждем нужное время 1-2 мс
даем в порт0
ждем 20-это время мс

Re: Нужна помощь по СИ.

Master » 17 апр 2008, 15:46

Что-то я не понял, то тебе нужно было мерить в мкс, а теперь уже в мс, выкладывай код и весь проект, а то в последнее время всех очень озаботил вопрос про сервы, а готовых проектов нету. Точнее проектов в которых реализована только одна задача, например, руление сервами.

Re: Нужна помощь по СИ.

denissyslo » 17 апр 2008, 16:55

Что-то я не понял, то тебе нужно было мерить в мкс, а теперь уже в мс,

МУР, ну не все ли равно 20000мкс или 20мс?

выкладывай код и весь проект,

Собственно выкладывать нечего пока я код постоянно переделываю.сейча немного забросил сервы. разбираюсь с аппаратным шимом. Есть успехи :). Что бы потом сделать руление сервой на таймерах, т.к. мой код ОЧЕНЬ простой и вем понятный, но для практических целей не пригодный, вот так я рулил сервой, все работлало:
PORTD.6=1;
PORTA.1=1;
PORTA.2=1;
PORTA.3=1;
PORTA.4=1;
PORTA.5=1;
delay_us(1000);
PORTA.1=0;
PORTA.2=0;
PORTA.3=0;
PORTA.4=0;
PORTA.5=0;
delay_us(19000);
а то в последнее время всех очень озаботил вопрос про сервы, а готовых проектов нету.

Это точно, а то и послать почитать вам, модераторам, некуда. ЕДИНСТВЕННАЯ ОЧЕНЬ ХОРОШАЯ инфа в Z8 курса123АВР По ней разбираюсь с аппаратным шимом. АВР молодец - для людей сделал.
Точнее проектов в которых реализована только одна задача, например, руление сервами.
Вообще я предлагал - сделали бы на форуме статейку - кусок кода с пояснениями (насолько это вообще реально) как зарулить сервой - чисто для новичков.

Re: Нужна помощь по СИ.

Master » 17 апр 2008, 21:11

Меня ни за что Муром обозвали :cry:
Вообще я предлагал - сделали бы на форуме статейку - кусок кода с пояснениями (насолько это вообще реально) как зарулить сервой - чисто для новичков.

Вот тебе выпала честь это сделать.

Re: Нужна помощь по СИ.

denissyslo » 18 апр 2008, 03:49

Меня ни за что Муром обозвали

извиняюсь - поздно писал, хотя я думаю, что МУР - это не ругательство, а ник МУРА :)

Вообще я предлагал - сделали бы на форуме статейку - кусок кода с пояснениями (насолько это вообще реально) как зарулить сервой - чисто для новичков.
Вот тебе выпала честь это сделать.


Я бы не поленился - написал, только знания не те....

Re: Нужна помощь по СИ.

loid » 15 май 2008, 09:51

А как же с delay? Если вот так:
Код: Выделить всёРазвернуть
int x=10;
// некоторый код
delay_ms(x);
// некоторый код


в этом случае всё работает, но если поменять ms на us:
Код: Выделить всёРазвернуть
int x=10;
// некоторый код
delay_us(x);
// некоторый код


выдаёт ошибку L131:must be constant expression

как понять, это недоработка функции delay?

Re: Нужна помощь по СИ.

Master » 15 май 2008, 09:55

Да.

Re: Нужна помощь по СИ.

loid » 15 май 2008, 10:08

Доделать эту функцию никак?

Re: Нужна помощь по СИ.

Digit » 15 май 2008, 10:23

Loid, использу тег [code] в сообщениях, чтоб листинги вставлять.

лучше [code=cpp]

Re: Нужна помощь по СИ.

Master » 15 май 2008, 10:52

loid писал(а):Доделать эту функцию никак?

Никак, можно выкрутится вот так.
Вот как вывести Х наносекунд
Код: Выделить всёРазвернуть
for (i=1; i<Х; i++) {delay_us(1);}

Re: Нужна помощь по СИ.

loid » 15 май 2008, 14:01

Master, спасибо за совет, это единственный вариант. Об этом уже думал. Хотелось покороче написать.

Re: Нужна помощь по СИ.

Digit » 15 май 2008, 14:07

Loid, ты только учитывай, что на организацию цикла нужно время, т.е. на каждую заданную таким вот макаром микросекунду будет капать ошибка (дополнительное время на операцию сложения и проверку условия).

Re: Нужна помощь по СИ.

Сергей » 15 май 2008, 14:17

Вот написан пример специально доступный и спросить можно меня если чо viewtopic.php?f=4&t=3993

Re: Нужна помощь по СИ.

denissyslo » 15 май 2008, 14:27

ДА, ДИДЖИТ точно сказал = на такиеоперации тоже надо время. И эта ошибка СУЩЕСТВЕННА при 10 мкс-х и пренебрегать й нельзя. надо отлаживать в вмлабе. тов авр описал как им пользоваться в своем курсе -почитайте, не поленитесь.

делау - гавно, много всяких загвоздокс этим делау....

лучше сразу начать разбирать таймеры - советую, думаю все приходили к этому выводу.

В помощь начинающим могу предложить вот что: viewtopic.php?f=2&t=4039

это я написал для нвичков. код управления 6 сервами на таймере с моими подробными пояснениями. пользуйтесь


Rambler\'s Top100 Mail.ru counter