расталкуйте как пользоваться мк

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

ну :write:
как :)
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Сообщение DiGiCat »

Сверху все есть - CodeVision AVR в вопросах и ответах

to Мурик
Нравится Бейсик - продолжайте "его современные диалекты и реализации"... кто запрещал-то?
Ваш выбор...

п.с. кстати, там же в Вики - универсальный код символических инструкций для начинающих...
Попробуйте с ним работу программиста найти... :)
scio me nihil scire...
_______________________

Изображение <= Жалобная кнопка в правом нижнем углу... )
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

нашёл :)))
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

я заставил моргать 2 диодика вухахахахахаха (смех доктора зло)
8) 8) 8) 8) 8) 8) 8) 8) 8) 8)
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

последний вопрос (надеюсь) :
как сделать функцию ЕСЛИ

типа если нажпть на кнопку то диодик моргает :idea:
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
Реклама
Опытный кот
Сообщения: 772
Зарегистрирован: Вс апр 10, 2011 02:24:06
Откуда: г.Северодонецк

Сообщение eufs »

Мурик писал(а): И если говорить по факту, то на бейсике можно сделать тоже самое что и на Си...
Ага. Опишите 8 векторов прерываний на бейсике. И в комплект к ним интерфейс с 8-10 кнопками и графическим дисплеем. FlashROM у МК лопнет раньше, чем начнете отлаживать.
Вывод однозначный - в качестве ознакомления пойдет. И пока яд бейсика не распространился и не подействовал (как на некоторых) - скорее на СИ, а еще лучше на АСМ.
C0FFEE=‭12648430‬
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

Так как сделать если???
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

леня писал(а):Так как сделать если???
Пример:
if(PINA.0==1){//если бит0 порта А =1
PORTB.1=1;//зажечь диод
}
else{
PORTB.1=0;//потушить
}
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

я правильно понял :

Пример:
если пин а0 = 1
if(PINA.0==1){//если бит0 порта А =1
то порт в1 = 1
PORTB.1=1;//зажечь диод
}
если наоборот то порт в1 = 0
else{
PORTB.1=0;//потушить
}[/quote]
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

самый лучший вариант - это изучение в три этапа
[*] булева алгебра
[0] алгоритмизация
[1] ASM
[2] C
[3] Hybrid : C + ASM

и еще неплохо знать тот же питон. для программ на пк подходит идеально.
затем уже можно изучить С++

на учитесь думать на asm ( я не шучу, это как с иностранным языком, рано или поздно начинаешь на нем думать ) - значит сможете программировать всё что имеет ножки.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

леня писал(а):я правильно понял :

Пример:

Код: Выделить всё

//если пин а0 = 1
if(PINA.0==1)
{
//если бит0 порта А =1
//то порт в1 = 1
    PORTB.1=1;//зажечь диод
}
//если наоборот то порт в1 = 0
else
{
    PORTB.1=0; //потушить
}
оформляйте код правильно, правильно расставленные скобки - это много-много здоровых нервных клеток. и если вы решили писать на си, то советую умерить пыл, купить книжку по си, и с неделю пописать консольные программы. у вас прибавится опыта, а у микроконтроллера немножко продлится жизнь.

и прошу сюда:
http://radiokot.ru/forum/viewtopic.php?f=20&t=37190
не стоит плодить похожие темы
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

eufs писал(а):
Мурик писал(а): И если говорить по факту, то на бейсике можно сделать тоже самое что и на Си...
Ага. Опишите 8 векторов прерываний на бейсике. И в комплект к ним интерфейс с 8-10 кнопками и графическим дисплеем. FlashROM у МК лопнет раньше, чем начнете отлаживать.
Вывод однозначный - в качестве ознакомления пойдет. И пока яд бейсика не распространился и не подействовал (как на некоторых) - скорее на СИ, а еще лучше на АСМ.
Вы пишите откровенную чушь!
Если это реализовывать на бейске FastAVR, то HEX получится еще компактнее чем на Си!
Открыл глаза
Аватара пользователя
Сообщения: 48
Зарегистрирован: Пн фев 07, 2011 00:42:25
Откуда: Из затерянного мира.

Сообщение Switch »

НАЧИНАТЬ НАДО СТРОГО С АССЕМБЛЕРА!!!
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

я всё таки на си хочю попробовать (CodeVision AVR)

ткните кто ниюудь меня носом в книжку по си для авээр :write:

желательно в не покупную книжку (электронную)
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Сообщение DiGiCat »

scio me nihil scire...
_______________________

Изображение <= Жалобная кнопка в правом нижнем углу... )
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1399
Зарегистрирован: Пн сен 13, 2010 17:34:06
Откуда: калуга

Сообщение леня »

М.Б.Лебедев 2008-600M я уже нашол :)
минуты 2 назад
вроде то что надо :)))

всё я от вас отстаю (600 страничек блин)
ВРУБАЙ !!!
И будь что будет !!!
Контактная информация:
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

леня писал(а):я всё таки на си хочю попробовать (CodeVision AVR)
Да хотеть-то не вредно, просто без знания "низов", и в первую очередь ассемблера, невозможно сколько-нибудь хорошо овладеть разработкой программ для микроконтроллеров. Для компутеров это не так актуально, хотя и там знание ассемблера бывает полезно.

Кстати говоря, не скупитесь на пробелы при написании программ и располагайте комментарии перед (выше) или рядом (сбоку) от куска программы, который комментируете. Вот Ваш кусок:

Код: Выделить всё

if(PINA.0==1)
{
//если бит0 порта А =1
//то порт в1 = 1
    PORTB.1=1;//зажечь диод
}
Он делается более читабельным (а это облегчает последующий анализ текста и поиск ошибок), если его малость подредактировать:

Код: Выделить всё

// Если А0 = 1, то зажечь светодиод.
if ( PINA.0 == 1 )
    PORTB.1 = 1;
Количество комментариев уменьшилось, однако смысл полностью сохранился. Зачем, например, было словами описывать точно то, что в программе делается: если А0=1, то В1=1? Это совершенно очевидно и из текста программы. А вот объяснить, зачем это делается, следовало бы (если A0 = 1, то зажечь светодиод). Ну а пробелы вокруг скобок и знаков операций упрощают восприятие операторов: символы не сливаются в сплошную массу.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

леня писал(а): ... всё я от вас отстаю (600 страничек блин)
... следующий этап - нужно читать книжки по внутренней архитектуре, вне зависимости от того, какой язык программирования выбрали.....
Опытный кот
Аватара пользователя
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону

Сообщение Goldsmith »

Раз уж вспомнили Дейкстру, не грех упомянуть и другую цитату из той же статьи:
Помимо математических способностей, жизненно важным качеством программиста является исключительно хорошее владение родным языком.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Контактная информация:
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

ткните кто ниюудь меня носом в книжку по си для авээр
C не бывает "для AVR" или еще какой-то. C всегда один и тот же, определяемый стандартом. Меняются только библиотеки и специфичные определения. В этом его сила, ибо код получается более читаемым и портируемым.

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

Кстати, о стандартах.

Код: Выделить всё

if(PINA.0==1)
{
//если бит0 порта А =1
//то порт в1 = 1
    PORTB.1=1;//зажечь диод
}
- очень плохо, ибо не стандарт, а потому будет работать только в отдельно взятой среде. Правильнее так:

Код: Выделить всё

if (PINA & 0x01)
{
  PORTB|=0x02;
}
Это будет работать где угодно, и вообще идеологически правильнее.

Итак, если Вы хотите правильно и качественно освоить программирование МК, двигаться надо в следующей последовательности:

1. Изучить схемотехнику цифровых устройств и булеву логику.
2. Изучить С (не С++ !) и пописать консольные приложения под PC.
3. Изучить архитектуру целевого МК и его ассемблер, пописать под него на ассемблере.
4. Совместить знание схемотехники, архитектуры МК, ассемблера, С и начать делать полноценные проекты на МК.

Как вариант - можно не делать ничего этого, а сразу начать делать что-то без понимания сути. Еще хуже - сразу начать широко использовать стандартные библиотеки, например, 1-Wire и т.п. Что-то, конечно, будет получаться, но непонятные глюки и удивительные приключения будут обеспечены.

Выбор за Вами.
Последний раз редактировалось YS Вс июн 26, 2011 22:04:23, всего редактировалось 1 раз.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»