Отговори на тема  [ 14 мнения ] 
Какво означава това? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Яну 03, 2007 8:52 pm
Мнения: 89
Местоположение: Димитровград
Мнение Какво означава това?
DelayUs(x) { unsigned char _dcnt; \
_dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1; \
while(--_dcnt != 0) \
continue; }

Кокво означава "|1" на втория рад?


Вто Авг 21, 2007 10:07 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Дигаш най-младшия бит. :)


Вто Авг 21, 2007 10:08 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Яну 03, 2007 8:52 pm
Мнения: 89
Местоположение: Димитровград
Мнение 
Реконструктор написа:
Дигаш най-младшия бит. :)


Ок, мерси.


Вто Авг 21, 2007 10:13 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
ако беше _dcnt-- а не --_dcnt , щеше да може и без него, че и по-добре щеше да е. а това MHZ как минава през компилера ми е някаква мистерия...


Вто Авг 21, 2007 1:16 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
zaphod написа:
ако беше _dcnt-- а не --_dcnt , щеше да може и без него, че и по-добре щеше да е. а това MHZ как минава през компилера ми е някаква мистерия...


ако сложиш отгоре:
#define MHZ *1000000

мистерията изчезва :)


Вто Авг 21, 2007 1:41 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Яну 03, 2007 8:52 pm
Мнения: 89
Местоположение: Димитровград
Мнение 
ps66 написа:
zaphod написа:
ако беше _dcnt-- а не --_dcnt , щеше да може и без него, че и по-добре щеше да е. а това MHZ как минава през компилера ми е някаква мистерия...


ако сложиш отгоре:
#define MHZ *1000000

мистерията изчезва :)


Вто Авг 21, 2007 5:11 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Яну 03, 2007 8:52 pm
Мнения: 89
Местоположение: Димитровград
Мнение 
Ето всичко.


Прикачени файлове:
delay.h [1.26 KiB]
148 пъти
Вто Авг 21, 2007 5:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
ps66 написа:
zaphod написа:
ако беше _dcnt-- а не --_dcnt , щеше да може и без него, че и по-добре щеше да е. а това MHZ как минава през компилера ми е някаква мистерия...


ако сложиш отгоре:
#define MHZ *1000000

мистерията изчезва :)


C-то е велик език. :D


Вто Авг 21, 2007 5:39 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
аве вие чувете ли се? че и аз се вързах като последен ламер и писах пост където обяснявах че не бива да се прави така, защото 10MHz/5MHz нямало да даде 2. всъщност няма да мине компилация, така както и твърдях в началото, който иска да пробва.


Вто Авг 21, 2007 5:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
zaphod написа:
аве вие чувете ли се? че и аз се вързах като последен ламер и писах пост където обяснявах че не бива да се прави така, защото 10MHz/5MHz нямало да даде 2. всъщност няма да мине компилация, така както и твърдях в началото, който иска да пробва.


що не вземеш да го пробваш ... вместо да пишеш глупости !

аз преди да си напиша поста го компилирах - защото не бях сигурен дали препроцесора ще се оправи с 12MHZ (без пауза)


Вто Авг 21, 2007 8:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
ps66 написа:
zaphod написа:
аве вие чувете ли се? че и аз се вързах като последен ламер и писах пост където обяснявах че не бива да се прави така, защото 10MHz/5MHz нямало да даде 2. всъщност няма да мине компилация, така както и твърдях в началото, който иска да пробва.


що не вземеш да го пробваш ... вместо да пишеш глупости !

аз преди да си напиша поста го компилирах - защото не бях сигурен дали препроцесора ще се оправи с 12MHZ (без пауза)

на визуалното студио не минава. бях написал поста, когато се освятках че препроцесора подменя само логически отделни стрингове, не прави просто подмяна на низ, както текстовите редактори да речем. ако даден препроцесор подменя подниз, значи е некадърен. пробвах и като видях че не минава и си коригирах поста
на компилатора на микрочип дава main.c:57:15: invalid suffix "MHz" on integer constant
на микрософтския дава
error C2059: syntax error : 'bad suffix on number'
това нещо може да мине само на препроцесор-самоделка
разбира се, ако има пауза минава, но говорим за случая БЕЗ пауза.


Вто Авг 21, 2007 10:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
zaphod написа:
ps66 написа:
zaphod написа:
аве вие чувете ли се? че и аз се вързах като последен ламер и писах пост където обяснявах че не бива да се прави така, защото 10MHz/5MHz нямало да даде 2. всъщност няма да мине компилация, така както и твърдях в началото, който иска да пробва.


що не вземеш да го пробваш ... вместо да пишеш глупости !

аз преди да си напиша поста го компилирах - защото не бях сигурен дали препроцесора ще се оправи с 12MHZ (без пауза)

на визуалното студио не минава. бях написал поста, когато се освятках че препроцесора подменя само логически отделни стрингове, не прави просто подмяна на низ, както текстовите редактори да речем. ако даден препроцесор подменя подниз, значи е некадърен. пробвах и като видях че не минава и си коригирах поста
на компилатора на микрочип дава main.c:57:15: invalid suffix "MHz" on integer constant
на микрософтския дава
error C2059: syntax error : 'bad suffix on number'
това нещо може да мине само на препроцесор-самоделка
разбира се, ако има пауза минава, но говорим за случая БЕЗ пауза.


пробвах го на BCB10 - който не ми прилича на самоделка :)
освен това питането на младежа беше "какво е това?" а не защо не ще да се компилира :)

препроцесора не прави проста подмяна на стринг - никоя ключова дума или име не започва с цифри - така че MHZ не е част от стринг
(TESTMHZ и 12MHZ са различни за препроцесора)

според мен е въпрос на реализация на компилатора, .... но никога не бих написал макроса без пауза !

P.S.
Цитат:
на компилатора на микрочип дава main.c:57:15: invalid suffix "MHz" on integer constant


това "MHZ" не е май "MHz" !?

мързи ме да го пробвам с VS но съм сигурен че и там ще мине !


Сря Авг 22, 2007 5:46 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
е аз не правих пробите със примера който тука момчето е дало, просто пишех
#define MHz *1000000
.....
int i=5MHz


Сря Авг 22, 2007 9:18 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Яну 03, 2007 8:52 pm
Мнения: 89
Местоположение: Димитровград
Мнение 
Това е пример от Hi-tech std 9.60.
Реших нето да използвам, вместо да се мъча да пиша.


Сря Авг 22, 2007 11:34 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 14 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни