Перейти к содержанию
    

Помогите изучить С для микроконтроллеров

Хелп плиз! Три года писал для PIC-ов Atmel-ов на ассемблере, нормально получалось. Теперь решили переходить на Cygnal-ы и хочется перейти на С. В школе и институте учили Pascal. Подскажите, пожалуйста где взять нормальную электронную книгу уровня для чайников или обучалку, чтобы выучить С. И вообще, принимаются любые советы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хелп плиз! Три года писал для PIC-ов Atmel-ов на ассемблере, нормально получалось. Теперь решили переходить на Cygnal-ы и хочется перейти на С. В школе и институте учили Pascal. Подскажите, пожалуйста где взять нормальную электронную книгу уровня для чайников или обучалку, чтобы выучить С. И вообще, принимаются любые советы!

Керниган и Ричи. Язык С. можно найти в инете на русском языке.

Еще см. вложенные файлы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Керниган и Ричи. Язык С. можно найти в инете на русском языке.

Еще см. вложенные файлы

Вот ссылка :)

Керниган, Ричи. Язык C

http://cclib.nsu.ru/projects/gnudocs/texts/kernigan.html

http://lib.ru/CTOTOR/kernigan.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Просто изучаете ANSI-С по книжке, затем разбираетесь в архитектуре микроконтроллера (организация памяти), смотрите особенности компилятора под этот микроконтроллер (как оформить прерывание, как поместить массив в память программ, как разместить переменные по определённым адресам и др., проверяете на всякий случай генерит - ли компилятор реентерабельный код функций по умолчанию или нужны специальные ключевые слова).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я считаю так:

1. достаешь среду разработки кейл (для цыгналов рулит)

2. устанавливаешь

3. берешь в руки кернигана и мануал на компилятор кейл (обязат-но!)

4. пишешь простую программу, напр дрыгаем ножку в цикле.

5. смотришь в симуляторе как она дрыгается

6. постепенно усложняя задачу, пробуешь разные конструкции языка

7. маленько разобравшись с языком, разбирайся с особ-тями компилятора (прерывания, орг-ция памяти, прочие опции)

8. теперь можно начинать решать реальную задачу.

 

ЗЫ на сигнале надо внимательно разобраться с иниц-цией - она там после пиков может показаться нетривиальной. а если ничего не инитить, то работать не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Совсем недавно на AVR форуме 'заруба' была. Взгляните интереса ради и получите много ответов на свой наболевший вопрос:

http://forum.electronix.ru/index.php?showtopic=8248

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Совсем недавно на AVR форуме 'заруба' была. ...

 

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала пойдет любая книжка по с (по с++ лучьше не читать - много лишнего). Даже из серии для чайников. Почитать основные моменты операторы там, типы переменных, как программа строится. Качнуть компилер и посмотреть как в нем реализованы некоторые моменты. Это касаемо обработчиков прерываний, типов данных и пр. Кейл - отличный выбор. И пишется удобно и в симуляторе можно посмотреть результат своей работы. Привыкаешь только к нему. После него мне дискомфортно в яре. Ну и практиковаться побольше. Я када ставлю новый компилер первым делом пишу:

void main(void)

{

while(1)

{

}

}

Потом жму кнопку компиляции. Приятно видеть когда все успешно проходит. Значит все ключики правильно установлены и можно начинать проект...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я пошел несколько по другому пути.

Вооружившись книжкой и исходниками, написанными коллегами, разбираюсь, как это работает (с ASM-51, кстати, было то же самое; еще раньше, в прошлом тысячелетии, примерно таким же образом занимался "взломом" программ для "Спектрумов" - тогда было интереснее, ибо исходников не было:)). Так вроде бы быстрее получается, хотя - у каждого свой путь.

С Кейлом стал знакомиться, понятное дело, начиная с "Badcode";)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все немного сложнее.Если вы 3 года занимаетесь программированием

микроконтроллеров и хотите продолжать , то книжка для "чайников"

вам не подойдет.Мощности микроконтроллеров возросли и задачи,

решаемые на них , усложнились.Последние компиляторы уже поддерживают

обьктные коды (С++).Развитие получают WEB-сервера на базе микроконтроллеров(дополнительно Java,Perl и т.д.).

Я считаю, что вам надо серьезно заняться изучением C/C++ и других

языков.Не все компиляторы полность напоминают Си.Например из компиляторов Си для пиков CC5,C2C,C18,Hi-Tech,только Hi-Tech наиболее

близко сравним с Си.Но и он не поддерживает много функций (порой важных)

языка Си.

Успехов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из книг могу посоветовать:

Герберт Шилтд "Полный справочник по С++" 4-е издание (Вильямс 2004, 796с ).

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

В книге сначала рассматривается С, потом С++.

Когда я учил С++ этой книги еще не было, но знаю пару человек, учивших по ней, и отзывы наилучшие.

Вобшем, если будете покупать книги по С/С++, стоит обритить на нее внимание (в Харькове она стоит около 7-9$ ).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще на www.intuit.ru есть курсы по разработке под POSIX, мобильных приложений под POSIX, C++.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...