roboforum.ru

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

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

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

=DeaD= » 28 дек 2008, 20:08

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

2. До какой степени стоит описывать особенности использования Си под МК? Описали как с портами работать, как в регистры писать, как процедуры обработки прерывания прописывать, как модификаторы писать, чтобы в память программ прописываться и т.п. вещи и всё?

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

Сергей » 28 дек 2008, 20:16

Именно по языку Си - я думаю не нужно делать, в интернете полно учебников где все хорошо описано. Я считаю, что нам нужны только примеры на Си для МК, и никаких основ Си не нужно.

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

=DeaD= » 28 дек 2008, 20:52

Ну тогда как-то так? (накидал эскиз)
Вложения
такое МК и основы Си для МК.pdf
(98.44 КиБ) Скачиваний: 52

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

avr123.nm.ru » 28 дек 2008, 21:01

Я думаю функции МК и на заводе задаются.

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

Сергей » 28 дек 2008, 21:01

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

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

=DeaD= » 28 дек 2008, 21:05

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

Не понял?

Добавлено спустя 52 секунды:
2avr123: А, понял про что :) ща поправлю, это я из вики нашей взял тупо :)

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

avr123.nm.ru » 28 дек 2008, 21:10

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

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

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


И про компаратор... Считать не "из программы", а программа может считать из регистра.

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

=DeaD= » 28 дек 2008, 22:14

Пофиксил и вроде закончил первую версию документа.
Вложения
информация о программировании МК AVR на Си.pdf
(178.04 КиБ) Скачиваний: 47

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

Сергей » 28 дек 2008, 22:16

Зачем здесь uintX_t ? Тогда указал бы библиотеку в которой они находяца. Лучше просто unsinged char и тп написал

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

=DeaD= » 28 дек 2008, 22:18

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

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

Нет, можно конечно справедливости ради их указать. Ок, сейчас поправлю и сделаю красивее :).

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

Сергей » 28 дек 2008, 22:19

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

Всмысле запоминал? Это основные типы в Си. Все остальные это уже производные и находяца в библиотеках ( которые везде имеют разное название кстати ) к примеру <inttypes.h>

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

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

Сергей » 28 дек 2008, 23:08

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

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

=DeaD= » 28 дек 2008, 23:13

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

Поправил, но ломает выкладывать везде :) со следующей правкой выложу.

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

avr123.nm.ru » 28 дек 2008, 23:20

раз уж так конкретизировал типы то пиши что
Основы использования Си для программирования МК AVR
в WinAVR


Rambler\'s Top100 Mail.ru counter