roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 07:39

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 24 май 2009, 15:59 
Не в сети

Зарегистрирован: 22 май 2009, 01:24
Сообщения: 7
Откуда: penza
Vooon писал(а):
...
2. а где парсинг NMEA?
...

$HEHDT, X.X,T*hh<CR><LF>

$- начало предложения.
HEHDT - служебная инфа говорящая об отправителе и его режиме.
X.X- КУРС! это что нам надо ...
дальше служебн инфа...

blindman писал(а):
1. Вычислить по 90 значений синуса и косинуса, записать в таблицы, угол преобразовать в целое, выбрать значения из таблицы


как это сделать? как записать в таблица? какой используется оператор? поясните пожалуйста.

=DeaD= писал(а):
Учитывая, что:
1) sin(Pi/2-t)=sin(Pi/2)*cos(-t)+cos(Pi/2)*sin(-t)=cos(t);
2) cos(Pi/2-t)=cos(Pi/2)*cos(-t)-sin(Pi/2)*sin(-t)=sin(t);

Я бы хранил только по 45 значений, это еще лучше по объему памяти ;)

спасибо за совет, я подумаю над этим.


MiBBiM писал(а):
писать лучше на бейсике,

к сожалению(или счастью), мне надо написать на С.

slavaslx писал(а):
Не уж то там у них 422-й используется.? Хотя зная наших, может и используется.
это международный стандарт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 24 май 2009, 16:39 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
в_фокусе писал(а):
как это сделать? как записать в таблица? какой используется оператор? поясните пожалуйста.

таблица - это массив. записать его лучше в память программ, чтобы не тратить ОЗУ. Как поместить массив в память программ и читать данные оттуда - зависит от компилятора. Как это делается в Codevision - не знаю.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 24 май 2009, 23:24 
В КВ массив память (ПЗУ память програм) загоняется просто:
надо указать тип флэш и дальше тип и имя массива (инициализация), (бо если прога запустится а массив в ПЗУ, не задан должен выдасть ошибку, по идее.)

flash int Massiv=[инициализация];

Из хелпа на КВ:
flash int integer_array1[]={1,2,3};
flash char string_constant1[]="This is a string constant located in FLASH";

Считаешь там синусы (косинусы или че там надо из тригонометрий) углов каких надо (никогда не любил тригонометрию), а потом зная что "какойто" син 93рад лежит в какойто ячейке Массив[допустим 91], берешь оттуда значение x=A[91].
Как то так.


Вернуться к началу
  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 25 май 2009, 13:19 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Интересно, это после реформы образования дипломы стали писать по незатронутым во время обучения областям?

Нам остается только радоватся - чем меньше они будут знать - тем выше у нас будет зарлата. :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 26 май 2009, 22:31 
Не в сети

Зарегистрирован: 22 май 2009, 01:24
Сообщения: 7
Откуда: penza
blindman писал(а):
таблица - это массив. записать его лучше в память программ, чтобы не тратить ОЗУ. Как поместить массив в память программ и читать данные оттуда - зависит от компилятора. Как это делается в Codevision - не знаю.


slavaslx писал(а):
...


в VC++ у меня так получилось(еще сыро)

Код:
#include <iostream.h>
#include <math.h> /*float sin(float x)- returns the sine of the floating point number x,
where the angle is expressed in radians. float cos(float x)*/

void main(void)
{

float array_cos[89];// угол от 0 до 90
  float array_sin[89];
   char i;
        for(i=0;i<90;i++)//0-89
        {
        array_cos[i]=float cos(i);
        array_sin[i]=float sin(i);
        cout<<"array_cos["<<i<<"]"<<array_cos[i];
        cout<<"array_sin["<<i<<"]"<<array_sin[i];
        }


}

но! в Codevision нет библиотеки <math.h> где есть cos и sin, и циклу for тоже надо библиотеку по ходу!?

executer писал(а):
Интересно, это после реформы образования дипломы стали писать по незатронутым во время обучения областям?
Нам остается только радоватся - чем меньше они будут знать - тем выше у нас будет зарлата. :(


я пишу диплом по "затронутой области", а программирование МК это одна из сопутствующих задач модернизации устройства(Гирокурсоуказатель),в которой я пока не силен.

Чтож, а мне остаться только радоваться за вас, что вы радуетесь.


Последний раз редактировалось в_фокусе 26 май 2009, 22:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 26 май 2009, 22:34 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Функции Синус и Косинус делай сам (лучше таблиным способом)

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 26 май 2009, 22:47 
Не в сети
Аватара пользователя

Зарегистрирован: 21 мар 2009, 20:06
Сообщения: 395
Откуда: Город на Неве
прог. языки: GNU C++ with Qt / C# via .NET
ФИО: Александр
При объявлении массивов надо указывать количество элементов, то есть вместо "[89]" - "[90]".
На МК надо вот эти получившиеся значения заносить в массив констант явно. То есть тупо скопировать вывод этой проги, только написать вместо того что имеется:
Код:
array_cos[i]=float cos(i);
cout << array_cos[i] << ", ";

Потом скопировать вывод такой же проги, только для синусов и вставить в свою прогу.
Это табличный способ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 27 май 2009, 08:34 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
math.h в cvavr'e есть (во второй версии точно).

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 27 май 2009, 12:01 
Не в сети
Аватара пользователя

Зарегистрирован: 18 сен 2008, 22:02
Сообщения: 25
Откуда: Самара
прог. языки: C/C++, Pascal
И в первой он кажется был.. спорить не буду, но щас специально залез и посмотрел, во второй он есть, и функции косинуса и синуса нормально выполняет.
Под цикл for не нужно никаких дополнительных библиотек.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 28 май 2009, 10:53 
Не в сети

Зарегистрирован: 22 май 2009, 01:24
Сообщения: 7
Откуда: penza
galex1981 писал(а):
Функции Синус и Косинус делай сам (лучше таблиным способом)

почему табличным? разве нельзя получить курс, и от него сразу взять c и к в программе, во время работы???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 28 май 2009, 11:04 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Можно что угодно. Но делать надо правильно. Из того кода что ты написал, можно сделать вывод что угол у тебя - целое от 0 до 90. Зачем делать каждый раз вычисления, преобразовывая градусы в радианы и вычисляя синус/косинус, тратя время процессора, если можно очень быстро получить значения из заранее составленной таблицы? Это сэкономит как время, так и память.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 28 май 2009, 12:45 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Blindman верно сказал, все зависит от поставленной задачи

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 28 май 2009, 22:09 
Не в сети

Зарегистрирован: 22 май 2009, 01:24
Сообщения: 7
Откуда: penza
MiBBiM писал(а):
math.h в cvavr'e есть (во второй версии точно).

да че то, я намудил, он там есть...
blindman писал(а):
Можно что угодно. Но делать надо правильно. Из того кода что ты написал, можно сделать вывод что угол у тебя - целое от 0 до 90. Зачем делать каждый раз вычисления, преобразовывая градусы в радианы и вычисляя синус/косинус, тратя время процессора, если можно очень быстро получить значения из заранее составленной таблицы? Это сэкономит как время, так и память.

Это понятно,Но данные будет не целые а например 45.4, то есть float. выше я писал int, для упрощения выражения своей мысли, прошу прошения если сбил с толку.
В этом случае разве, то же будет разумнее пользоваться табличным способом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 28 май 2009, 22:24 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Помня, что производная косинуса - синус и наоборот можно из таблицы нереально быстро нереально точно считать и промежуточные значения ;)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: программа для диплома (help me)
СообщениеДобавлено: 29 май 2009, 13:33 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
да ему ж всего два значения за 30мсек посчитать надо, уж времени завались

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 16


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO