Обучение новичков программированию.

Всё о ЧПУ (CNC). Компоненты, станки, программы.
Аватара пользователя
Автор темы
chkmatulla
Реальное имя: Walter
Откуда: Schwedt

Обучение новичков программированию.

Сообщение chkmatulla » 24 дек 2016, 14:30

Долго сомневался, создавать тему или бесполезно ? Всегда вспоминалось начало дискуссий, где я пытался задавать вопросы зубрам от нуля и единицы: сами спросят много чего но, ничего не скажут. Наверное, в последний раз попытаюсь.
Итак, цель этого топика, знающие предмет разговора и имеющие желание помочь новичкам, могли бы здесь отвечать на всякие вопросы и объяснять всякие непонятки. Я сейчас решил попытаться освоить программирования микроконтроллеров, в частности Кортекс. Честно говоря, сам не понимаю, это одно и то же что и STM32 или это разные вещи и об этом нужно обязательно упоминать, задавая вопрос ? Пока только понял что, я работаю с Кортекс и язык программирования С. По этому случаю и по рекомендации Тёмного Лорда были скачаны: Язык С. Керниган, Ритчи, Программирование_на_С_Kерниган, Ричи и ещё несколько книг других авторов. Написание фамилии Ритчи и Ричи, как я понял, правильно и относится к одному и тому же человеку. Поэтому, если это может привести к разным ситуациям, прошу считать за базовую первую Язык С Керниган, Ритчи. Ну а теперь, собственно вопросы новичка. В книгах, как полагается, есть упражнения, которые позволяют лучше понять материал. Вот в связи с этими упражнениями первый вопрос, на чём их выполнять ? Какую программу нужно использовать для этого ?
У меня есть IAR Embedded Workbench, но не хватило ума сообразить, как его применять ? Есть у меня небольшой опыт по использованию подобных программ, для Arduino. Там как- то всё проще, сразу понял, как загрузить в него программу, как отредактировать и залить в микроконтроллер.
В случае с IAR этого у меня не получилось повторить. Впрочем и сама книга, тоже не для каждого... Там необходима спецподготовка, чтобы понять, что пишут. Местами, ничего не понимаю...
В общем, уважаемые знатоки, если не трудно, помогите пожалуйста советом или Ц. У. Крайне желательно избегать английский текст, если, можно, лучше своими словами.
Секс не предлагать. Могу согласиться.

Аватара пользователя
T-Duke

Обучение новичков программированию.

Сообщение T-Duke » 24 дек 2016, 14:36

Программирование большинства контроллеров отличается от программирования компьютеров отсутствием привычных средств ввода-вывода информации. Поэтому нужно забыть об операторах printf и scanf и прочих операций с файловой системой. Hello world на МК это включение светодиода.

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


Не, если чо, можно и графику прикрутить и даже клаву. Но это не способы изучения программирования на МК.
Technology is insignificant comparing to the power of the Force.

Аватара пользователя
Автор темы
chkmatulla
Реальное имя: Walter
Откуда: Schwedt

Обучение новичков программированию.

Сообщение chkmatulla » 24 дек 2016, 14:50

Ну дык, первый пример и есть PRINTF("Hello, World\N");
Кажется, правильно написал ? А в примере ещё рекомендуют убрать N и посмотреть, какие будут сообщения...
Секс не предлагать. Могу согласиться.

Аватара пользователя
T-Duke

Обучение новичков программированию.

Сообщение T-Duke » 24 дек 2016, 15:08

И как ты собираешься увидеть результат печати на микроконтроллере?
Technology is insignificant comparing to the power of the Force.

Аватара пользователя
Автор темы
chkmatulla
Реальное имя: Walter
Откуда: Schwedt

Обучение новичков программированию.

Сообщение chkmatulla » 24 дек 2016, 15:14

Вот это я и хочу понять...
Секс не предлагать. Могу согласиться.

Аватара пользователя
AnSm
Реальное имя: Андрей
Откуда: Владимирская обл. Собинка.

Обучение новичков программированию.

Сообщение AnSm » 24 дек 2016, 15:18

Если стоит винда на компе, думаю самое простое установить MinGW и MSys. В качестве редактора NoteBook+. Это как бы готовая среда с поддержкой bash и компилятором gcc. Сейчас попробую сесть за комп и дать ссылки.
Вот сам MinGW. И неплохая инструкция по установке и настройке среды. вот в ней как раз и можно увидеть "Привет мир!". Ну и заодно свободная кросплатформенная библиотека для использования ModBus RTU и ModBusTcp. В том числе на Андроиде, Ардуино и т. п.
Всё проходит...

Аватара пользователя
T-Duke

Обучение новичков программированию.

Сообщение T-Duke » 24 дек 2016, 15:24

Зря значит пытаться учить программировать контроллеры здесь. Уже минималистские гну под виндовс начались, блокноты. Тогда это все не касается микроконтроллеров. Значит учим пограммирование на компе.
Technology is insignificant comparing to the power of the Force.

Аватара пользователя
AnSm
Реальное имя: Андрей
Откуда: Владимирская обл. Собинка.

Обучение новичков программированию.

Сообщение AnSm » 24 дек 2016, 15:26

T-Duke писал(а):Источник цитаты Тогда это все не касается микроконтроллеров.
Ну как не касается. Основные понятия си. Хотя бы начальная практика. Те книги на которые ссылался Вальтер как раз и подрузамевают практику на гну. ПО микроконтроллерам отдельная песня. Хотя каждый выбирает свой путь сам.

Отправлено спустя 5 минут 12 секунд:
chkmatulla писал(а):Источник цитаты Кажется, правильно написал ?

Правильно так. printf("Hello World!\n");
\n -перевод на новую строку. И писать маленькими буквами. Компилятор различает маленькие и большие буквы.
Всё проходит...

Аватара пользователя
Автор темы
chkmatulla
Реальное имя: Walter
Откуда: Schwedt

Обучение новичков программированию.

Сообщение chkmatulla » 24 дек 2016, 15:32

Lord, в книге рекомендуют завести текст программы, скомпилировать, загрузить, пропустить программу на своей системе... Вот, если это возможно, объясните простым языком, неподготовленному, к чему это всё относится ?

Отправлено спустя 1 минуту 47 секунд:
AnSm писал(а):Источник цитаты Правильно так. printf("Hello World!\n");
\n -перевод на новую строку. И писать маленькими буквами.

Ну вот, начались разногласия... В книге написано заглавными буквами.
Программа печати "HELLO, WORLD" на языке "C" имеет вид:
MAIN ()
PRINTF("HELLO, WORLD\N");
В очередной раз убеждаюсь, что без специальной подготовки или помощника, учить программирование, задача весьма сложная и с непредсказуемым результатом.
Секс не предлагать. Могу согласиться.

Аватара пользователя
AnSm
Реальное имя: Андрей
Откуда: Владимирская обл. Собинка.

Обучение новичков программированию.

Сообщение AnSm » 24 дек 2016, 15:38

chkmatulla писал(а):Источник цитаты Программа печати "HELLO, WORLD" на языке "C" имеет вид:
MAIN ()
PRINTF("HELLO, WORLD\N");

Если там такие примеры, выкинь эту книгу.
#include <stdio.h>
int main (void)
{
printf ("Hello, World!");
return 0;
}
Hello.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Всё проходит...


Вернуться в «Системы ЧПУ»