roboforum.ru

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

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

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

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

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

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

Нееее... вот это вообще ломает переделывать :( :oops:

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

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

Сообщение Vooon » 28 дек 2008, 23:32

Поправь определение прерываний:

SIGNALL устаревшее обозначение, как и SIG_*

Код: Выделить всёРазвернуть
#include <stdint.h>
#include <stdbool.h>

#include <avr/io.h>
#include <avr/interrupt.h>

// timer/counter 0 overflow interrupt
ISR(TIMER0_OVF_vect)
{
    // do stuff
}

void main()
{
    // init

    // enable interrupts
    sei();

    // or for(;;)
    while (true)
    {
        // do stuff
    }

    return 0;
}


Добавлено спустя 2 минуты 2 секунды:
Хм, а писать код стало удобнее с моноспейсом то :)
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

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

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

Накопилось :) поправил всё:

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

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

Сообщение Vooon » 28 дек 2008, 23:40

Поправь включение #include <avr/interrupt.h>
Запостил с ошибкой, почти сразу же исправил (1-2 мин), но ты похоже старую версию успел схватить :)
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

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

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

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

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

Сообщение Vooon » 28 дек 2008, 23:43

ПС: кто подскажет, в какую сторону копать, у меня evince вылетает при попытке открыть pdf
вчера помогало LANG=C, а сейчас уже нет.

Добавлено спустя 33 секунды:
Черт, успел разбить :)
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

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

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

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

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

Сообщение blindman » 28 дек 2008, 23:48

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

А это еще почему? Это что, тоже стандартизировать будем? Это вопрос личных предпочтений. Я например использую K&R style, точнее OTBS.

Vooon писал(а):у меня evince вылетает при попытке открыть pdf

Не наблюдаю такого в Debian Etch.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

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

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

А это еще почему? Это что, тоже стандартизировать будем? Это вопрос личных предпочтений. Я например использую K&R style, точнее OTBS.

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

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

Сообщение blindman » 28 дек 2008, 23:58

K&R - это открывающая скобка блока на той же строке, что и оператор - за исключением функций, там скобка на отдельной строке.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

Сообщение =DeaD= » 29 дек 2008, 00:00

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

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

Сообщение Сергей » 29 дек 2008, 00:07

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

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

Сообщение =DeaD= » 29 дек 2008, 00:10

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

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

Сообщение Vooon » 29 дек 2008, 02:41

blindman писал(а):Не наблюдаю такого в Debian Etch.

Дык арч. На ноуте с убунтой тоже все в порядке.
Версия пакета: evince 2.24.2-2 (пробовал и пересобирать из ABS - фиг)

Эх, не было печали, да апдейтов накачали... :crazy:

Добавлено спустя 3 минуты 50 секунд:
yaourt тоже поломали, не ищет по AUR'у нормально.
Эхх, низя пьяных программистов допускать до кода...
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Пред.

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

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

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