Доброго времени суток!
Господа, подскажите.. есть три переменные:
unsigned char h,l;
unsigned int x;
Как в старший байт переменной x положить значение переменной h, и соответственно в младший байт значение переменной l? И обратная задача, как прочитать старший байт из x в переменную h (можно ли это сделать без ассемблерных вставок или операций сдвига\деления)?
paranoik писал(а):Как в старший байт переменной x положить значение переменной h, и соответственно в младший байт значение переменной l? И обратная задача, как прочитать старший байт из x в переменную h (можно ли это сделать без ассемблерных вставок или операций сдвига\деления)?
либо описав как структуру, либо простым сдвигом... ассемблер тут не нужен.
paranoik писал(а):
Как в старший байт переменной x положить значение переменной h, и соответственно в младший байт значение переменной l?
x=h;
x= (x<<8)|l; /// или x= (x<<8)+l;
paranoik писал(а):
И обратная задача, как прочитать старший байт из x в переменную h (можно ли это сделать без ассемблерных вставок или операций сдвига\деления)?
h= x>>8;
Операции <<, >> - сдвиг. Чего их не использовать?
paranoik писал(а):А то думал что есть что то вроде l=Low(x); но в справке ничего подобного не нашел
forastr писал(а):Хочу массиву присвоить содерижимое файла.Как это сделать?(Например массив fontdata
, а в файле font.txt : 0x00,0x01,0x02)
А откуда ты файл в контроллере возьмешь ? Будешь ради 3-х байт прикручивать SD карточку?
Напиши просто
char a[]={0x00,0x01,0x02};
Зачем тут файл?
я может неправильно выразился:как правильно с точки зрения синтаксиса написать через #include.(Просто имеется два файла различных кодировок для бегущей строки , и чтобы каждый раз при перекомпиляции не переписывать массив где 255х7 элементов,то проще включть содержание типа fontoffset[] =#include <font.txt>, тока у меня ошибки выскакивают )
forastr писал(а):
я может неправильно выразился:как правильно с точки зрения синтаксиса написать через #include.(Просто имеется два файла различных кодировок для бегущей строки , и чтобы каждый раз при перекомпиляции не переписывать массив где 255х7 элементов,то проще включть содержание типа fontoffset[] =#include <font.txt>, тока у меня ошибки выскакивают )
определить разные массивы fontoffset[]={1,2,...n} в разных файлах font.c или font.h и подключать нужный файл с помощью #include
forastr писал(а):
я может неправильно выразился:как правильно с точки зрения синтаксиса написать через #include.(Просто имеется два файла различных кодировок для бегущей строки , и чтобы каждый раз при перекомпиляции не переписывать массив где 255х7 элементов,то проще включть содержание типа fontoffset[] =#include <font.txt>, тока у меня ошибки выскакивают )
определить разные массивы fontoffset[]={1,2,...n} в разных файлах font.c или font.h и подключать нужный файл с помощью #include
дошёл таки до акселерометров и захотелось его к предмету привязать знаю что предмет движется минимальным шагом 0.01 если дать 0.1 то он будет вертется быстрее чем глаз увидит ,в чём же касяк ! ацп макс 1023 пока что пробую вывести на екран через разные пути добавление 0 с переди, даже поделил макс теперь 150 но 0 не преписывает(
как его переправить?
Прочитал ваш пост 4 раза, ничего не понял. Какой шаг, какой акселерометр, к какому предмету. Схему в студию, или алгоритм, или хотя бы подробное описание проблемы. Что у вас не получается..?
может не так вырозился в общем у меня акселерометр 7260qr2 у него 3 оси и 3 выхода на них напряжение 0.8-2.6В в ацп 240-800 едениц
мне надо хотяб 1 ось перевести из вида 200 в ==> 0.200
s=read_adc(0); //ïîðòû
?????????
sprintf (lcd_buf, "V=%u", s);
LcdString(1,3);
LcdUpdate();
delay_ms(200);
LcdClear();
так вот интересно реально ли сделать 0 с точкой перед значением ацп? схема классичекая
нее,к сожалению в дальнейшем охото к 3Д модельке прицепить на экране хотяб увидеть без точек 01024 , а вообще надо бы на програмном коде это проделать как я понял в флоат можно это осуществить
Есть новая версия, рабочая. http://eldigi.ru/site/prog/cvavr.php
Там правда дистрибутив сам триал, но заменой файла из прилагаемой папки можн получить полностью рабочую.
Из плюсов можно отметить возможность назначать выводы для лсд индикатора, раньше только целый порт.
доброго времени суток
пишу программу, чип мега32, шьётся по 5ти проводкам исключительно, пашет с кварцем на 16.
вопрос следующий.
вот часть текста программы
.......
PORTA.3=0;
PORTC.4=0;
PORTC.5=0;
PORTC.7=0;
PORTC.3=0;
PORTC.2=0;
PORTA.0=0;
PORTD.3=0;
PORTA.7=0;
PORTD.6=0;
PORTB.2=0;
PORTA.2=0;
PORTB.1=0;
PORTB.7=0;
PORTB.5=0;
PORTA.5=0;
PORTB.0=0;
PORTA.1=0;
......
делаю так сказать свотовое табло
это у меня одна буква.
Как мне всё это разместить в 4х строчках???
а то у меня программа получается очень большая.