Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 17:56   #1
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
Стрелка программирование микроконтроллеров

читал различные статьи на эту тему. заинтересовался. но вот возникли вопросы. знаю что для программирования МК подходит ассемблер и Си++, но я знаю только Си. можно ли написать что нить на Си?
alex(21) вне форума Ответить с цитированием
Старый 30.11.2010, 18:08   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

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

Рекомендую сайтик:
http://easyelectronics.ru/category/avr-uchebnyj-kurs
http://www.radiokot.ru/
Levsha100 вне форума Ответить с цитированием
Старый 30.11.2010, 18:19   #3
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

а как на счет программирования? что и где можно почитать на эту тему для новичков на Си? уж очень интересно стало.
Цитата:
#include <avr/io.h> // Хотим использовать порты ввода/вывода
#include <util/delay.h> // Хотим использовать функции задержек

int main()
{
// Регистр DDRB отвечает за направление
// линий порта. Если какой либо бит равен
// лог. 1, соответствующая линия порта
// используется для вывода данных. Иначе для ввода.
// Мы указываем, что собираемся использовать
// линию 0 для вывода данных (устанавливаем бит 0
// в лог. 1).
DDRB = 0x01;

// Начинаем вечный цикл.
for (;
{
// Инициализируем переменную, характеризующую
// время задержки в миллисекундах для замкнутых контактов.
int SleepTime = 500;

// Если бит 1 порта B установлен в лог. 1, (контакты разомкнуты)
// увеличиваем вдвое время задержки.
if (PINB & _BV(PB1))
SleepTime = SleepTime * 2;

// Устанавливаем бит 0 порта B в лог. 1.
// (зажигаем светодиод).
PORTB |= _BV(PB0);

// Ждем указанное время.
_delay_ms(SleepTime);

// Устанавливаем бит 0 порта B в лог. 0.
// (гасим светодиод).
PORTB &= ~_BV(PB0);

// Ждем указанное время.
_delay_ms(SleepTime);
}
return 0;
}
что то слишком сложно. что почитать чтобы понятно стало?
а то всякие
Цитата:
PORTB &= ~_BV(PB0);
которые я первый раз вижу.

Последний раз редактировалось alex(21); 30.11.2010 в 18:28.
alex(21) вне форума Ответить с цитированием
Старый 30.11.2010, 18:30   #4
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Скачайте CVAVR это раз.(там есть генератор начального кода)
Посмотрите первую ссылку- это два.

p.s.
Код:
for (;;)
K&R перечитали ?

Цитата:
которые я первый раз вижу
Учите Си, батенька, тут без битовых операций никуда =)
Тильда- дополнение до единицы.

Последний раз редактировалось Levsha100; 30.11.2010 в 18:35.
Levsha100 вне форума Ответить с цитированием
Старый 30.11.2010, 18:34   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что почитать чтобы понятно стало?
Нужно почитать Глубокий учебник по Си Ибо
Цитата:
PORTB &= ~_BV(PB0);
Однозначно описаны в подобных книгах
Это PORTB =PORTB and not _BV(PB0); где _BV - функция
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2010, 18:39   #6
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Глубокий
После темы про выбор паяльника у этого предложения появляется глубокий сакральный смысл
Levsha100 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программирование микроконтроллеров фамил Свободное общение 9 30.10.2010 16:02
Ассемблер для микроконтроллеров Hant111 Фриланс 5 10.05.2010 19:38
Программирование микроконтроллеров - пакет начинающего Ivan_32 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 27.08.2009 16:37
Книга по программированию микроконтроллеров на языке С sheremi Общие вопросы C/C++ 2 09.12.2008 00:30