Страница 1 из 3

Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 11:27:46
Viper115
На данном этапе пишу относительно не сложные программы для Attiny13 на ассемблере.
Хотелось бы освоить что-то типа Atmega8, но попробовать кодить уже на Си.
Желательно, чтобы изложение было доступно для гуманитария

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 11:58:27
Maykill
http://www.litmir.net/
если что....

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 13:12:05
Аlex
И вот ещё, если что :)

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 17:05:59
Viper115
Все же хотелось бы что-то с привязкой к микроконтроллерам

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 17:12:04
ARV
Viper115 писал(а):Все же хотелось бы что-то с привязкой к микроконтроллерам
А какая разница? Синтаксис выучили по книжке, периферию по даташиту (и по опыту с ассемблером), алгоритм - он и в Африке алгоритм... Знай записывал мысли на языке Си :-)

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 18:15:42
bob1
Шпак Ю.А. - Программирование на языке С для AVR и PIC микроконтроллеров

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 18:28:36
Света
Viper115 писал(а):Все же хотелось бы что-то с привязкой к микроконтроллерам
С привязкой... пожалуйста...
https://sunduk.radiokot.ru/loadfile/?load_id=1315557050
https://sunduk.radiokot.ru/loadfile/?load_id=1387354002
https://sunduk.radiokot.ru/loadfile/?load_id=1323508847
https://yadi.sk/d/viNLuhlOZEdm7

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 19:58:33
Halex
Удивляюсь на ARV, как это он не порекомендовал сразу эту книженцию. Видимо с возрастом вкусы изменились... Хотя полностью согласен с Alex - Керниган, Ричи - основоположники Си, начинать изучать сам язык лучше с них, а дальше уже с привязкой к конкретно выбранному компилятору. Конечно, CodeVision проигрывает другим в плотности кода, но для новичка самое то. Потом можно будет спокойно спрыгнуть и в WinAVR или IAR, слегка подучив местные диалекты языка.

Re: Посоветуйте литературу для изучения Си

Добавлено: Пн авг 04, 2014 20:05:12
ARV
Halex писал(а):Удивляюсь на ARV, как это он не порекомендовал сразу эту книженцию. Видимо с возрастом вкусы изменились...
вы откуда такой взялись?! :shock: мне кажется, все, кто хоть немного знаком со мной, с моими проектами и с моими постами на этом форуме (и не только) знают, что я никогда добрым словом не поминал CodeVision :))) так что мои вкусы были и остаются неизменными :)))

Re: Посоветуйте литературу для изучения Си

Добавлено: Вт авг 05, 2014 21:33:08
Viper115
Спасибо всем

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 12:40:43
c2n
Литература по тинькам. Полезно пользовать как справочник.
Евстифеев А.
Микроконтроллеры AVR семейства Tiny Рук-во пользователя //Или аналогичную этого же автора

Практические и лабораторные :)))))
Гадре Д., Мэлхотра Н.
Занимательные проекты на базе микроконтроллеров tiny AVR //там есть кратенькое описание принципов программирования на С для AVR и готовые проекты (некоторые даже очень интересны)

писать только в фирменной студии!!!!!11111 ИМХО.

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 12:51:39
ploop
писать только в фирменной студии!!!!!11111 ИМХО.
Я бы вообще советовал начинать писать в блокноте.

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 13:03:22
c2n
угу... сначала составляем схему на бумажечке, потом рисуем блоксхему, думаем что кто куда и где... кто на прерывание а кто и в основном цикле потучуется.

По поводу фирмовой студии.
Руки она правит хорошо. И мозги тоже...

Сам начинал с CAVR или что то подобное.
но добрые люди сказали что конструкция:

Код: Выделить всё

PortB.1 = 1;
не комильфо.
а вот

Код: Выделить всё

PortB |=(1<<1);
православна более чем полностью! :)))

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 13:12:39
ploop
Дык учиться же, компилятор пощупать, как файлы организовать, как код легче оформлять (не обзательно под МК, учиться под большим братом можно).

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 14:11:00
ARV
c2n писал(а):но добрые люди сказали что конструкция:

Код: Выделить всё

PortB.1 = 1;
не комильфо.
а вот

Код: Выделить всё

PortB |=(1<<1);
православна более чем полностью! :)))
первая конструкция вообще не соответствует требованиям синтаксиса языка Си, а вторая записана просто неудачно, хотя в соответствии с разрешенным синтаксисом.

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 16:33:04
c2n
ну не совсем.
Первая конструкция пользуется в одном из альтернативных компиляторов для АВР.
Соответственно весь код получается - "не стандартный".

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

Ну так вот. Очень полезная книга:
Керниган Б., Ритчи Д.
Язык программирования С
Издательство: Вильямс Издательский дом
Год издания: 2006
Кол-во страниц: 304
ISBN: 9785845908919
Причем она даже скорее как справочник, чем учебник.

ссылку на электронный формат давали выше.

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 18:49:47
pcb
Не соглашусь что первая конструкция
ARV писал(а):не соответствует требованиям синтаксиса языка Си
это способ доступа к ресурсу реализован в компиляторе "изкоробки"
его можно реализовать своими силами и запись будет соответствовать первой конструкции

Re: Посоветуйте литературу для изучения Си

Добавлено: Чт авг 07, 2014 22:10:48
Аlex
pcb писал(а):его можно реализовать своими силами и запись будет соответствовать первой конструкции
А разве имена полей могут быть цифровыми ? Не знал... :)

Re: Посоветуйте литературу для изучения Си

Добавлено: Пт авг 08, 2014 01:03:12
pcb
переопределение операнда и будет уже не имя переменной, а передаваемый параметр или индекс переменной.
Но точку переопределить в классе нельзя, а про структуры я не помню :)

Re: Посоветуйте литературу для изучения Си

Добавлено: Пт авг 08, 2014 08:22:40
ARV
pcb писал(а):переопределение операнда и будет уже не имя переменной, а передаваемый параметр или индекс переменной.
Но точку переопределить в классе нельзя, а про структуры я не помню :)
мне очень нравится, когда "советники" входят в тему не с ответом на заднный вопрос, а с ответом на придуманный ими самими вопрос...
1. речь идет о Си, а классы и переопределения - это С++. вы вопрос читали, прежде чем начать отвечать?
2. о каком параметре вы пытаетесь говорить? где он в записи PORTB.1 ?! снова ответ на собственные грёзы? то же самое про индекс переменной.
3. если не помните, я напомню: ни поле структуры, ни какой либо иной элемент синтаксиса языка Си не может иметь идентификатор, начинающийся с цифры. это азы, не знать этого просто недопустимо для человека, решившегося давать другим советы.