roboforum.ru

Технический форум по робототехнике.

Вводный курс OpenRobotics по прогр. МК на Си - обсуждение

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Вводный курс OpenRobotics по прогр. МК на Си - обсуждение

Сообщение =DeaD= » 28 дек 2008, 20:08

У меня вообще возникло 2 вопроса:
1. Стоит ли делать краткий курс по языку Си вообще? До какой степени?
Рассмотреть:
А. Как определяются переменные, какие типы поддерживаются;
Б. Основные команды;
В. Как определяются функции;
Г. Какие макрокоманды есть, типа #include, #define и т.п.
Д. Работа с массивами, указателями, передача информации по указателю?
Е. Использование библиотек типа stdio со всякими printf;
Так?

2. До какой степени стоит описывать особенности использования Си под МК? Описали как с портами работать, как в регистры писать, как процедуры обработки прерывания прописывать, как модификаторы писать, чтобы в память программ прописываться и т.п. вещи и всё?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение Сергей » 28 дек 2008, 20:16

Именно по языку Си - я думаю не нужно делать, в интернете полно учебников где все хорошо описано. Я считаю, что нам нужны только примеры на Си для МК, и никаких основ Си не нужно.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение =DeaD= » 28 дек 2008, 20:52

Ну тогда как-то так? (накидал эскиз)
Вложения
такое МК и основы Си для МК.pdf
(98.44 КиБ) Скачиваний: 52
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение avr123.nm.ru » 28 дек 2008, 21:01

Я думаю функции МК и на заводе задаются.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение Сергей » 28 дек 2008, 21:01

Не, я предлагал вообще не делать вводную часть. Нужны только примеры работы с периферией, а остальное пользователь уже должен знать
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение =DeaD= » 28 дек 2008, 21:05

avr123.nm.ru писал(а):Я думаю функции МК и на заводе задаются.

Не понял?

Добавлено спустя 52 секунды:
2avr123: А, понял про что :) ща поправлю, это я из вики нашей взял тупо :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение avr123.nm.ru » 28 дек 2008, 21:10

У меня такое определение в курсе:

МК это микросхема которая в ответ на внешние электрические сигналы действует в соответствии с

- возможностями заложенными производителем
- электроникой подключенной к МК
- программой которую в него загрузите ВЫ !


И про компаратор... Считать не "из программы", а программа может считать из регистра.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение =DeaD= » 28 дек 2008, 22:14

Пофиксил и вроде закончил первую версию документа.
Вложения
информация о программировании МК AVR на Си.pdf
(178.04 КиБ) Скачиваний: 47
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение Сергей » 28 дек 2008, 22:16

Зачем здесь uintX_t ? Тогда указал бы библиотеку в которой они находяца. Лучше просто unsinged char и тп написал
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение =DeaD= » 28 дек 2008, 22:18

Сергей писал(а):Лучше просто unsinged char и тп написал

Чтобы читатель запоминал char, int, long int, long long int и т.п.?

Нет, можно конечно справедливости ради их указать. Ок, сейчас поправлю и сделаю красивее :).
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение Сергей » 28 дек 2008, 22:19

И зачем при использовании регистров ты пишешь уже готовые значения типа 0х69 ? напиши по человечески какие биты ставишь REGISTER |= ( 1 << bit ) или там макрос юзай хотябы. Не видно какие биты
=DeaD= писал(а):тобы читатель запоминал char, int, long int, long long int и т.п

Всмысле запоминал? Это основные типы в Си. Все остальные это уже производные и находяца в библиотеках ( которые везде имеют разное название кстати ) к примеру <inttypes.h>
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение =DeaD= » 28 дек 2008, 22:36

Поправил:

Добавлено спустя 1 минуту 24 секунды:
Сергей писал(а):И зачем при использовании регистров ты пишешь уже готовые значения типа 0х69 ? напиши по человечески какие биты ставишь REGISTER |= ( 1 << bit ) или там макрос юзай хотябы. Не видно какие биты

Я не понял, я разве сейчас описываю как работать с конкретными регистрами и какие биты что значат? Я же показываю как в них писать и всё. :wink:

Добавлено спустя 10 минут 12 секунд:
Тем не менее добавил пример с установкой бита через "REG |= 1 << bit_position;" :)
Вложения
информация о программировании МК AVR на Си.pdf
(179.39 КиБ) Скачиваний: 34
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение Сергей » 28 дек 2008, 23:08

Ок. И давай писать открывающую скобку блока кода с новой строки ) забыл как стиль называеца :oops:
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение =DeaD= » 28 дек 2008, 23:13

Сергей писал(а):давай писать открывающую скобку блока кода с новой строки ) забыл как стиль называеца :oops:

Поправил, но ломает выкладывать везде :) со следующей правкой выложу.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вводный курс по программированию МК на Си - обсуждение

Сообщение avr123.nm.ru » 28 дек 2008, 23:20

раз уж так конкретизировал типы то пиши что
Основы использования Си для программирования МК AVR
в WinAVR
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8