roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 06:38

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 191 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.
Автор Сообщение
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 25 июл 2008, 20:10 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Мигание...
Код:
unsigned long a = 0;
unsigned char c = 0x00;

while(1){
     if (a == 0) {
         PORTB = c;
         c = 0xFF - c; //Вместо if (c == 0xFF) c == 0x00; else c == 0xFF;
     }
     a++;  //Переполнится и станет нулем.
}


Не знаю так сработает или нет:
Код:
unsigned long a = 0;

while(1){
     if (a == 0) PORTB = 0xFF - PORTB;
     a++;
}

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 25 июл 2008, 23:01 
Не в сети

Зарегистрирован: 20 окт 2005, 16:11
Сообщения: 432
Откуда: Вильнюс,Литва
прог. языки: Basic
я конечно извиняюсь заранее, ибо на Си никогда не писал, но чем плох вот этот код:
Код:
#include <90s2313.h>
#include <delay.h>

void main()
{

DDRD=0xff;
PORTD=0x00;

while(1)
{
PORTD.1=0;
delay_ms(1000);
PORTD.1=1;
delay_ms(1000);
}

}

имхо нагляднее :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 25 июл 2008, 23:28 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Виталий писал(а):
Мигание...
a++; //Переполнится и станет нулем.

Это из серии "очумелые ручки", а не из того программирования которому надо учить. Я бы повешался потом код разбирать в котором такие вещи используются, да и через месяц сам будешь сидеть и гадать что вообще в коде происходит. :)

Кирилл писал(а):
я конечно извиняюсь заранее, ибо на Си никогда не писал, но чем плох вот этот код:

Тем что туда по-моему только до 255 можно передавать. Черт, ничего не успел сегодня посмотреть и сделать на эту тему.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 25 июл 2008, 23:35 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
И давайте определимся каким компилятором пользуемся. У Кирилла насколько я понял CV, а Дед пишет под avr-gcc..
=DeaD= писал(а):
PS: Не вижу смысла чтобы начинать программить под МК изучить весь си\си++, из него (особенно из си++) реально пользуется под МК процентов 10-20 в подавляющем числе случаев.

А зачем учить весь Си да еще и С++? Можно просто почитать основы Си без всяких примудростей, как раз эта база и использеца при программировании МК


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 25 июл 2008, 23:35 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
=DeaD= писал(а):
Черт, ничего не успел сегодня посмотреть и сделать на эту тему.

теперь ты должен себя убить!!!
Давайте всетаки без флуда. <Сергей>

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 25 июл 2008, 23:36 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Виталий писал(а):
Не знаю так сработает или нет:
Код:
unsigned long a = 0;

while(1){
     if (a == 0) PORTB = 0xFF - PORTB;
     a++;
}

Сработает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 27 июл 2008, 16:46 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
Чет какой-то стремный Си ваш :no: Из простешего примера проблему создали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 27 июл 2008, 20:08 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Это не си стрёмный, это из нас учителя стрёмные :) а си он хороший, белый и пушистый.

ps: как там в соседней ветке мне сказали - в отпуск пора, сегодня поставил себе AVRStudio, WinAVR на недавно освеженный комп и не смог скомпилить пример, чего-то с makefile'ом намутил умудрился на ровном месте, хотя до этого раз 10 ставил всё и нормуль было :) ппц, переработал :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 27 июл 2008, 20:50 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
но-но!!! хороший, белый и пушистый всегда был васик!
а Си он для суровых хакеров! :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 27 июл 2008, 22:36 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 27 июл 2008, 23:44 
Не в сети
Аватара пользователя

Зарегистрирован: 12 июл 2005, 16:10
Сообщения: 150
Откуда: Харьков
прог. языки: Lua, C, JS
Простые хакеры на асме пишут, суровые хакеры пишут в бинарном коде @_@


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 27 июл 2008, 23:56 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
Сергей писал(а):
Суровые хакеры на Асме пишут!!

Эт променя :ROFL:
Если серьезно, мужики, вы в личке перетрите, прийдете к общему мнению тогда что-то постите, а то хотелось Ся изучить, а вижу здесь 3.14ЗДЕЦ, мб топик лучше поправить или дрокнуть до лучших времен


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 28 июл 2008, 08:03 
Не в сети

Зарегистрирован: 12 мар 2007, 23:15
Сообщения: 50
Откуда: Иркутск
Вобщем дело было так:
Изучал я в свое время дельфи, а до этого паскаль. Естественно под пк.
А когда добрался сюда, почитал про мк и все такое, понял, что для программирования мк надо учить си и ничто другое. Асм не в счет, т.к. он является "тонким инструментом" для критических секций кода.
(Эффективная разработка программ подразумевает также и время разработки, поэтому умные люди придумали языки высокого уровня, и писать на асме весь код имхо неправильно.)
Для меня переход на си был довольно простым, т.к. написание программы это в первую очередь составление и понимание алгоритма, по которому она должна работать, и только потом написание непосредственно кода в соответствии с правилами синтаксиса языка.
Поэтому я не полез в гугл искать микропаскаль и тому подобную ерунду.
Немало помог курс, сами знаете какой, там реально описаны все основы.

Вобщем я считаю что си. (точка). :D
Куча материалов, наработанных годами по всему миру, исходников, библиотек, и т.д.
Разве этим может похвастаться тот-же васик?

Вот эта конструкция кажется совсем убогой:
Код:
For A = 1 To 100
Next A

Хотя первоначально она более понятна чем эта:
Код:
for(i = 0; i < 100; i++){
}

Но насколько я понимаю (поправьте плиз если я не прав), "Next A" это жестко "A++"
А в случае с СИ можно написать так:
Код:
for(i = 0; i < 100; i+=2){
}

Или так:
Код:
for(i = 0; i < 100; func(i)){
}

Вот Васик так умеет? Или на нем придется извращаться?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 28 июл 2008, 08:36 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Цитата:
Разве этим может похвастаться тот-же васик?

может
Цитата:
"Next A" это жестко "A++"

шаг можно указывать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вводный курс для программирования МК AVR на языке C/C++
СообщениеДобавлено: 28 июл 2008, 08:45 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Зато васик не умеет по диагонали крестиком вышивать :) например в сях можно в 1 строку зашить решение уравнение методом последовательных приближений :) for(инициализация переменных; условие, когда ответ достаточно для нас хорош; шаг итерации);

Короче чего спорить - лучший аргумент - это распространенность промышленного применения си\си++, на нем пишутся ОС, игры, большинство серьезных программ и т.п.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 191 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO