Реклама Google — средство выживания форумов :)
п1 не понял.
> aliens6
2-й пункт уже сам додумал.
> aliens6
п1. Есть число 0x04 и число 0xf0 как их соединить,
чтобы получилось 0xf4
> aliens6
1.Можно ли с помощью функции printf
вывести переменную в бинарном виде?
> aliens6
И можно ли с помощью putchar передать
результат АЦП ? А то с printf получилось,
но много она в памяти места занимает.
> aliens6
2.Прерывание по получению байта по УСАРТу
срабатывает после автоматического получения байта?
т.е. не надо никак посторонне получать байт, или
же оно срабатывает после функции getchar?
> aliens6
Извините за глупые вопросы.
Спасибо!
aliens6 >
попробовал. На отладчике получаю всякие буквы:
int temp;
temp=ADCW;
putchar(temp);
aliens6 >
Просто хочется с самого начала учиться правильно,
а то вдруг потом не хватит памяти из-за этого, переучиваться придется.
aliens6 >
использую мега8, постепенно перехожу на мега16(плату пока делаю)
aliens6 >
как WinAVR к AVRStudio прикрутить?
Если не секрет какова габаритная мощность?
Смотри в СВЧ не уйди
> khvostoff
Я пытаюсь освоить написание программ на Си для АВРов.
Я написал программку, которая делает "синусоиду" из двух половинок параболы.
Сделать синусоиду из функции sin не получается - в 2313 не хватет памяти!
> khvostoff
ввод данных с регистра не получается! PIND всегда равен 1,
вне зависимости от того посадил я ножку на землю или нет!
DDRB = 0xFF;
PORTD = 0x01; // подтянул вывод младшего разряда PORTD
DDRD = 0x7E; // сделал младший разряд регистра PORTD входом, а остальные - выходами
> khvostoff
i=PIND; // Это я пытаюсь присвоить значение
из регистра D целой переменной i
> khvostoff
if(i=0) goto rew2;
//Это проверка 0 в регистре или нет,
//если 0 то надо проверять ещё раз
> khvostoff
PORTB=(i-32)*(i-32)/32;
Serge77 > И это называется читабельным?
SAA > Это смотря для кого, для компилятора он более удобен.
SAA >
Я вот подумал, подумал и надумал...
while(Code != 0) // знаю Code > 0 более читабельно,
// но плохо оптимизируется!
SAA >
Я специально делал такие выражения, что бы помочь компилятору,
если знать что делает компилятор с твоей строкой и стремится к
тому что бы строка полностью без избытка легла в код, то
нужно "разжевывать" компилятору на его языке
SAA >
Нет заматерелые Си программисты мыслят примерно так:
while((!(Code -= (int)(((*ptr)&0x88)==0x88))) && (++ptr < &fnt[6])) {};
> AAS
Помню по этому поводу, что нужно доказать что True = 1, False = 0,
поскольку это еще менее очевидно начинающему.
> termostat
наверно можно так: while(Code){}
> AAS
Не очень хорошая мысль я думаю.
Хотя бы уж так, что бы начинающие понимали:
while((bool)Code) {}
> AAS
Сколько смайлов я должен поставить рядом что бы фраза
которую ты атакуешь казалась тебе безобидным юмором?
Но раз нашла коса на камень то:
APPNOTE AVR331 Ну вот например:code text
while(1) { key=getchar(); putchar(key); delay(100); }
А нужно бы как рекомендует Денис Ричиcode text
while(TRUE)
> AAS
Или вот:
if(--buff_cnt == 0) // If buffer is empty:
Если уж быть последовательным, то нужно бы так:
buff_cnt--;
if(buff_cnt == 0) ....
> AAS
Да и был бы он там Си в апп.ноутах, там все больше
блоксхемы, да мнемоника.
> AAS
Синтаксис и лексика языка была продумана настолько давно,
что язык стал чем то безотносительным к платформе, буть то
ПК,КПК или МК.
> AAS
И уж учится применению надо не в Ап.ноутах а
в литературе на порядок старше.
> AAS
Могу прицепить "Веревка
достаточной длины,чтобы... выстрелить себе в ногу" - это
около 159 параграфов правил как писать на Си и С++ - 148Кб.
Очень правильно будет почитать Страуструппа, но там все
больше про С++.
> Srege77
Ещё одна полушутка: наверное писать на С для МК можно советовать только тем,
кто уже знает и использует С на компьютерах.
Всем остальным для МК лучше учить ассемблер или Бейсик, так на один барьер будет меньше (я имею в виду синтаксис С ).
> SAA
Это очень трудный вопрос. Ведь если учить с ноля, то я думаю все равно что учить.
Это субъективно, очень субъективно
> SAA
операции в Си еще мене очевидны чем команды в АСМ,
OR A,B A = A|B; Для человека с алгеброй логики не знакомого...
> SAA
почему в таком случае ты не выбрал Паскаль,
обще признано что он менее платформенно зависим чем Си?