Карма: 22
Рейтинг сообщений: 94
Зарегистрирован: Чт мар 26, 2009 04:35:04 Сообщений: 3142 Откуда: Москва
Рейтинг сообщения:0
Решил тут С поизучать (с нуля)...
Цель - написание своей проги для GPS-датчика (обработка NMEA-данных с COM-порта) и программирование микроконтроллеров. Пока такого опыта нет. Подскажите, плиз, куда лучше не наступать ... где там злые собаки и т.д. Например, сейчас установил Netbeans, MinGW и прочия отладчики, написал первую прогу на вывод текста, пытаюсь скомпилировать, а gcc пишет, что "нет файла" ... (шшш-ш-ш!!!)
И насколько С универсальный язык для таких задач? Может бейсика хватит визуального?
(программатор - пока EXTRAPIC, спаял из набора)
_________________ (Аль Котоне,кот ещё тот,Cattus Sapiens) Усы и хвост - мои документы. Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Решил тут С поизучать (с нуля)... Цель - написание своей проги для GPS-датчика (обработка NMEA-данных с COM-порта) и программирование микроконтроллеров. Пока такого опыта нет. ...
Лучше на USB потренироваться, а вот потом к сложным GPS-ам переходить с их протокольными граблями и парсингом текстовых строк.
Моё мнение, Си никогда не был универсальным языком. Его таким планировали сделать. А получилось то, что получилось
Карма: 22
Рейтинг сообщений: 94
Зарегистрирован: Чт мар 26, 2009 04:35:04 Сообщений: 3142 Откуда: Москва
Рейтинг сообщения:0
Спасибо за инфу и за ссылки Получается, что вообще на чём хошь можно программировать ... Мне, в принципе, графика пока не нужна, хотя потом может и захочется А те GPS, которые в USB втыкаются, всё равно опосля начинают под COM-порт косить ... может для совместимости с существующими прграммами навигации.
Но не приведёт ли наличие "кучи готовых библиотек" к потере гибкости и к чрезмерной зависимости от их наличия и специализации?
_________________ (Аль Котоне,кот ещё тот,Cattus Sapiens) Усы и хвост - мои документы. Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Карма: 22
Рейтинг сообщений: 94
Зарегистрирован: Чт мар 26, 2009 04:35:04 Сообщений: 3142 Откуда: Москва
Рейтинг сообщения:0
Оно понятно, но ведь на С тоже есть библиотеки, например такая:
http://nmea.sourceforge.net/ (причём у них только на С, а sourceforge.net - очень серьёзный ресурс)
Смогу я в библиотеке того же бейсика какую-нить запятую подправить, ежли она меня не устроит? То бишь, насколько оне (эти коды) открытые?
У мя, кстати, есть книжка "Разработка устройств сопряжения", авторы (Новиков, Калашников и Гуляев) тоже примеры на С приводят, и пишут, что многие специалисты считают С лучшим языком для программирования таких устройств, а другие предпочитают ассемблер. Правда это 98 год, может с тех пор что-то кардинально изменилось...
_________________ (Аль Котоне,кот ещё тот,Cattus Sapiens) Усы и хвост - мои документы. Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Цитата:
Смогу я в библиотеке того же бейсика какую-нить запятую подправить, ежли она меня не устроит? То бишь, насколько оне (эти коды) открытые?
на VB незнаю, но в PureBasic'е если не будет исходника библиотеки, то ничего подправить нельзя, т. к. она скомпилирована. Но зачастую в месте с библиотекой идёт исходник. Дополнительные библиотеки устанавливаются в папку с компилятором и при этом становятся доступными функции этих библиотек. Специально подключать как в Си не нужно Вот список всех имеющийся библиотек дополнительных функций
Цитата:
Правда это 98 год, может с тех пор что-то кардинально изменилось...
Да изменилось.
Если под Win9X можно было работать непосредственно с портом, но в операционных системах на платформе NT (Win2000, XP, виста) этот номер уже не пройдёт, тут надо использовать драйвер, или работать через API функции винды.
К счастью во вмногих системах программирования есть функции для работы с COM портом...
Карма: 22
Рейтинг сообщений: 94
Зарегистрирован: Чт мар 26, 2009 04:35:04 Сообщений: 3142 Откуда: Москва
Рейтинг сообщения:0
Спасибо, полезная информация.
_________________ (Аль Котоне,кот ещё тот,Cattus Sapiens) Усы и хвост - мои документы. Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Моё мнение, Си никогда не был универсальным языком.
А чего на нем нельзя сделать??? Для аппаратчика самое то! И синтаксис у него полегче, чем у бейсика...
Про порты: ставите драйвер GiveIO (www.pcports.com) и забываете что вы в XP... Т.е. спокойно лупите по портам на ассемблере!
А C и ассемблер - братья навек...
Учите C!
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Моё мнение, Си никогда не был универсальным языком.
+1
Пользуйте Delphi тобишь Object Pascal он намного логичнее, намного легче в изучении чем тотже СИ. А если на микроконтроллёры захотите перийти, то mikroPascal от microelectronica - лучший из Pascal компиляторов для AVR.
С каких это пор синтаксис Си стал легче чем у бейсика?
int x сложнее, чем X AS INTEGER???
Цитата:
Моё мнение, Си никогда не был универсальным языком.
Почему же? Мне правда интересно.
А что такое холивар?
А вообще действительно, кому на чем удобнее, тот пусть на том и пишет. Просто я люблю C и assembler, а раньше писал на Pascal . Кстати, на С перешел именно из-за простоты и мощи синтаксических конструкций.
Все, постараюсь больше не отходить от темы.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Цитата:
int x сложнее, чем X AS INTEGER???
А при чём тут объявление переменной? Надо сравнивать куски кода... Но даже тут Си проигрывает, т. к. переменная объявляется так x.i, но данный тип переменных можно не объявлять, а сразу использовать в коде
просто констатация факта:
за 6 лет работы с западными фирмами разрабатывающими электронику + PC интерфейсы.
Embedded code (мк часть) - только на С пишется (я работал как минимум с десятком фирм разного размера). Ни разу не встречал ни одной разработки на чем-то другом (редко ассемблерные вставки есть - но это считается плохим правилом программирования, т.к. не reusable на других платформах).
PC интерфейсы - на чем угодно, но чаще всего либо на VB, VB.NET с dll на С/С++, либо на C++, но с надстройками более высокого уровня типа MFC или ATL, либо в последнее время все чаще идет C# опять же с драйверами на C/C++.
Говорят что пишут интерфейсы и на жаве, но лично никогда с этим не сталкивался.
почему библиотеки пишут на С/С++ - просто очень. возьмем к примеру приложение, реализующее двусторонний протокол обмена между ПК и мк. Так логическая часть протокола пишется на С один раз и вставляется в 2 приложения - для мк и для ПК. экономия времени ровно в 2 раза.
почему интерфейсы чисто на C/C++ не пишутся - полноценную графику для ПК чтобы запрограммировать - на С потребуется времени в 3 раза больше, чем на том же самом С# или C++ с MFC.
_________________ Я просто верю в то, что рушить догмы - лучший способ не стареть.
Для промышленных разработок может и удобно код для МК писать на C, однако для домашних ИМХО лучше всего подойдет ассемблер. Нет ни одного компилятора с языка высокого уровня, который создавал бы действительно оптимальный код. А вобще все зависит от сложности программы. ИМХО писать бегущие огоньки на C - изврат такой же, как и декодер mp3 на ассемблере .
Я пока делаю так: под контроллер пишу на асме, под ПК - на С/C++ (разумеется, в среде быстрой разработки, чтобы сама окошки рисовала, типа C++ Builder). Мне хватает.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Зарегистрирован: Пн сен 04, 2006 00:16:07 Сообщений: 207
Рейтинг сообщения:0
Я тут немного изучал вопрос, выбирая язык для обучения, пришёл к выводу, что C++. Ну, учитывая, что скриптовыми типа Basic, FoxPro, AutoIT худо-бедно владею.
Pascal академический язык, хотелось бы его знать, но почему-то не нашёл самоучителя, который бы мне хотелось почитать. Наверно, расчитано всё на систему образования, что для меня несколько моветон.
Delphi был бомбой, но перспектива очень туманная, популярность резко упала в последнее время. C# IMHO очередной заскок Microsoft, чтобы перекроить рынок под себя. Вот ни с того ни с сего откажутся от поддержки платформы .NET и ппц. Кстати, как там в Висте, VB работает? Какие-то проблемы вроде уже есть...
Классический С хорош, но это процедурный язык.
C++ уже ООП, к тому же кросплатформенный. Не особо популярен среди мэйнстрима, но и не собирается сдавать позиции. Т.е. перспективен в любом случае.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения