eXeC001er 0 27 сентября, 2005 Опубликовано 27 сентября, 2005 · Жалоба А я что то не совсем понял, девушка хочет выучить Си с целью обучения студентов?! Думаю что для Вас для начала необходимо выучить (понять), научиться самой писать что либо, потом можно переходить на МК, т.е. изучать архитектуру, а уж потом приниматься совмещать Си и МК. И после всего этого необходимо поучаствовать в создании какого либо мало мальски большого проекта для закрепления знаний получения опыта, а уж потом учить студентов, иначе ни Вы ни студенты нифига не поймут. ИМХО. Еще один вариант, это делают многие преподы на сегодняшний день, учить вместе со студентами, вы прочитываете какую либо доку, составляете небольшой план на 5-10 занятий, и потом перед занятием за день-два сами прорабатываете занятие, чтобы потом стедентам обяснить, что как, иначе Вы будете в их глазах "ламером" и это гарантированно и проверено. А если будете прорабатывать занятие заранее а не на самой паре то вам гарантирован успех, по крайней мере в глазах таких же как и вы, ваш главный плюс будет то что вы будете знать на шаг вперед. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eXeC001er 0 27 сентября, 2005 Опубликовано 27 сентября, 2005 · Жалоба ну про студентов и девушку эт я недочитал ошибся с обращение т.к. обратил внимание на мессадж от Vic1. Но от слов не отказываюсь. А хазану поста, попишите что нить для компутера, разберитесь в структуре языка, а потом переходите на CV, там можно конкретно позырить как настраивается контролер (эт я про генератор кода), поиграйтесь посмотрите отличия от того что было при написании прорамм для ПК, а потом можно перейти на ИАР. А по поводу толстых книг не соггласен, http://cpp.r2.ru в печатном варианте будет не менее Страуступовской книги по С++. А печатный вариант лучше. Мое мнение Страуступ и какой нить самоучитель самое то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 27 сентября, 2005 Опубликовано 27 сентября, 2005 · Жалоба Спасибо всем за живой топик! По поводу советов мне насчёт Си- читал я эту книгу, я представляю что такое Си, есть и прочитана книга Стефан Р Дэвис, могу ошибиться немного в авторе, не суть. АВР знаю практически идеально, его архитектуру, опишу его спокойно на асме, но надо расти. По поводу пописать на Си под ПК- ??? Почему бы мне сразу не пописать под АВР? Его я знаю лучше чем ПК? Один хрен разбираться с программой того же борланда, плюс синтаксис компилятора у каждого свой. Тогда хорошо, буду задавать вопросы здесь и много, возможно где- то глупых, но для меня не понятных. Начнём? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nml 0 27 сентября, 2005 Опубликовано 27 сентября, 2005 · Жалоба Почему бы мне сразу не пописать под АВР? Его я знаю лучше чем ПК? Один хрен разбираться с программой того же борланда, плюс синтаксис <{POST_SNAPBACK}> Как сам недавно начавший осваивать С - скажу следующее. Если вы знаете МК достаточно глубоко - пишите для него и смотрите листинг. Свои ошибки сразу же заметите. Правда, есть и свои тонкости - например, вы пишете какой-то фрагмент, а в листинге - фрагмент есть, а кода нету :-) Он его соптимизировал... например, присваиваете значение переменной, а ее нигде не используете (ошибочно, или просто для просмотра завели - выбросит все, если с оптипизацией). Но стоит отметить - некоторые вещи IAR делает просто великолепно. Например, если вы в конце процедуры обращаетесь к другой процедуре - он сделает на нее RJMP. С другой стороны - кривовато работает в переменными, объявленными в регистрах (а версия 3.20 вообще ошибалась). В общем, как в той песне - " когда рисовать начнете, вы это поймете cами "... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба Позвольте и мне высказаться. Сейчас у меня задача направить двух человек на путь правильного изучения языка Си. Один из них тоже хочет программировать АВР на Си, другой будет заниматься только ПК. И тому и другому я советую изучать язык на борландовском компиляторе Borland C++ 3.0. Он работает под DOS, ключи ему как таковые не нужны (вернее можно и не указывать, все настраивается через среду IDE). Почему? Я это обосновываю тем, что программу на компьютере легче отлаживать и понимать синтаксис языка обучающемуся человеку. Осваивание же НОВОГО НЕЗНАКОМОГО языка на достаточно закрытом АВР (с точки зрения контроля работы программы) я считаю трудным и путсым занятия (но это лишь моя точка зрения). Изучение ассемблерного листинга с целью изучения НОВОГО НЕЗНАКОМОГО языка (специально повторяюсь) не всегда возможно: если листинг 10-30 строк, то еще можно, а если 40 и больше (опять же мое мнение)??? Из этого вытекает решение: писать учебные программы, размер листинга который не превышает 30 строк (условно), но что это будут за программы??? И потом - отладка??? На микроконтроллере??? Не очень-то и удобно!!! Даже когда знаешь язык, иногда бывает трудно найти траблы. На симуляторе AVR Studio? Да тогда уж на нем, но... все равно чувствуется какой-то изврат... да и лучше уж тогда в Borland IDE... примерно одинаково и получится, но в последнем случае во много раз лучше. В общем мое мнение (только мое и я ни кому ни чего не навязываю): изучайте Си на IBM PC, как Вам правильно советовали выше. ICQ 339085018 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
INT1 0 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба 2 haker fox, а как на Борланде периферию симулировать?, да и изучать его тоже нужно, а к тому времени Атмель новую линейку МК запустит, архитектуру учить придется,- все по Владимиру Ильичу получается...:(, а программу надо было написать на вчера, иначе китайцы напишут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба To INT1: я что говорил??? Я говорил об изучении языка СИ, а на кой нам %%% симулировать периферию, если мы еще Си не знаем?????? И про AVR Studio я упоминал как об отладчике, на котором можно наблюдать ход программы, а периферия МК сейчас не важна, ведь человек просит помочь освоить IAR!!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
INT1 0 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба ну так IAR же, а не Borland вобщем,( имхо,) нужно идти от простого к сложному, взять готовый небольшой проект под ИАР и разобраться в нем. Кстати, в ж-лах "Радиоаматор" за прошлый/текущий годы был цикл статей по СИ для АВР, правда средА кажется там WinAVR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Виктория 0 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба eXeC001er А я что то не совсем понял, девушка хочет выучить Си с целью обучения студентов?! Думаю что для Вас для начала необходимо выучить (понять), научиться самой писать что либо, потом можно переходить на МК, т.е. изучать архитектуру, а уж потом приниматься совмещать Си и МК. И после всего этого необходимо поучаствовать в создании какого либо мало мальски большого проекта для закрепления знаний получения опыта, а уж потом учить студентов, иначе ни Вы ни студенты нифига не поймут. ИМХО. Еще один вариант, это делают многие преподы на сегодняшний день, учить вместе со студентами, вы прочитываете какую либо доку, составляете небольшой план на 5-10 занятий, и потом перед занятием за день-два сами прорабатываете занятие, чтобы потом стедентам обяснить, что как, иначе Вы будете в их глазах "ламером" и это гарантированно и проверено. А если будете прорабатывать занятие заранее а не на самой паре то вам гарантирован успех, по крайней мере в глазах таких же как и вы, ваш главный плюс будет то что вы будете знать на шаг вперед. Неаккуратно постинги читаете? С чего Вы это взяли? Только с того, что у меня нет IAR. Будьте, пожалуйста, внимательнее. (Может я Вам уже в бабушки гожусь :) ). Благо и воплощенные проекты за спиной есть, и вехи развития кросс-технологии программирования Embedded пройдены лично (можно и мемуары писать, хотя бы такие "От asm-a K580 к OS-9 на MC68302"). А насчет преподавания - так я же "играющий тренер". :) Большого желания поддерживать этот постинг теперь нету. Метценгерштейн, обратите внимание NML повторил мой совет другими словами. Значит он все-таки дельный (в общем-то он служит просто для преодоления барьера перехода с ассемблера на Си и проверен историей). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба Ну Вы тут и наговорили, интересно, а как же теперь все это поймет уважаемый Метценгерштейн??? Как ему теперь быть??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Виктория 0 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба Создать новую тему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба Я своим студентам постоянно зужу, что программист микроконтроллеров, как и всякий прочий программист, должен уметь переходить с одного семейства на другое примерно за неделю. <{POST_SNAPBACK}> И напрасно делаете! Поскольку это не так. Попробуйте, к примеру, за неделю перейти с AVR на Blackfin! Я не имею в виду: создать проект и скомпилить тестовую прогу (это у меня получилось в течение получаса с нуля), а именно перейти - т.е. изучить архитектуру целевого процессора, без чего эффективное программирование просто невозможно, освоить средсва разработки и т.д. Там одной документации на пяток тыщ страниц наберется (и все на мериканцком языке) - сколько времени ее читать будете? Т.ч. процессор процессору рознь и все эти разговоры про неделю (аля "С++ за 21 день") - только разговоры. Любая серьезная работа требует усилий и времени, ничего просто так не дается. С нуля даже AVR за неделю не освоишь как следует - т.к. для этого надо хотя бы какой-то опыт реальный приобрести. А язык - вещь несколько ортогональная по отношению к процессорам, его надо изучать вдумчиво и неторопясь. Совет заглядывать в листинг - совершенно правильный, только тут надо всегда помнить, что есть правила языка и есть конкретная реализация, которая может и не соответствовать правилам. Если задуманное работает не так, как хотелось, что видно и из листинга, то в подавляющем большинстве случаев на начальном этапе это из-за недостаточного знания языка. Столкнувшись с этим надо четко понимать, что тут надо разобраться КАК ОНО ДОЛЖНО работать, открыв документацию на язык. Вот при таком подходе листинг с реализацией очень кстати. Но на практике начинающие часто делают совсем не то - они начинают экспериментировать с исходным текстом, подгоняя результирующее поведение под желаемое. Что порождает глупые и неуправляемые хаки. Главная же задача учителя - не столько научить программировать конкретный МК, сколько научить правильному подходу в освоении и МК, и средств разработки. А то, сколько времени требует освоение конкретного процессора - неделю, месяц или год - это уже другой вопрос, тут срок больше зависит от самого процессора (его сложности), глубины освоения (разница между пресловутой "Hello World" и полноценным (хоть и несложным) проектом весьма значительна) и опыта/квалицикации разработчика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Виктория 0 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба Главная же задача учителя - не столько научить программировать конкретный МК, сколько научить правильному подходу в освоении и МК, и средств разработки. А то, сколько времени требует освоение конкретного процессора - неделю, месяц или год - это уже другой вопрос, тут срок больше зависит от самого процессора (его сложности), глубины освоения (разница между пресловутой "Hello World" и полноценным (хоть и несложным) проектом весьма значительна) и опыта/квалицикации разработчика. Полностью согласна :) Истина. Наверно в чем-то слишком "горячее" утверждение (за неделю), порожденное стилем коротких ответов на форуме. Если к тому же речь идет не только о кардинальной смене архитектуры контроллера или процессора, но и об серьезном проекте системы на базе этого процессора, то безусловно я не права. Но своим студентам я все-равно это буду утверждать (чтобы лучше учились :) ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба С вашего позволения, я предпочёл бы всё- таки сразу к ИАРу приступить по ряду причин. Хеллоу Ворлд я уже писал под борландом, и слегка в нём поигрался, потом, как сказано у Термостата на AVR123.by.ru, мы используем всего 2-3% языка, это функции и процедуры. Да и просто мне не придумать себе задачу под борланд, а тут я могу и ЛСД подцепить и просто светодиодиками помигать. АВР я, ещё повторюсь, чувствую и понимаю его работу, думаю, мне лучше будет так. Ну так как, начинаю по совету всех осваивать самостоятельно и заваливать вас кучей вопросов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
INT1 0 28 сентября, 2005 Опубликовано 28 сентября, 2005 · Жалоба имхо, все советы справедливы, каждый по-своему, все зависит только от Вас, остальные могут только помочь, вот ссылочка под руку попалась, может сгодится: http://www.procyonengineering.com/avr/avrlib/index.html под другую средУ правда, но, всё-же :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться