| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Какво означава това? http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=4666 |
Страница 1 от 1 |
| Автор: | kirchi [ Вто Авг 21, 2007 10:07 am ] |
| Заглавие: | Какво означава това? |
DelayUs(x) { unsigned char _dcnt; \ _dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1; \ while(--_dcnt != 0) \ continue; } Кокво означава "|1" на втория рад? |
|
| Автор: | Реконструктор [ Вто Авг 21, 2007 10:08 am ] |
| Заглавие: | |
Дигаш най-младшия бит. |
|
| Автор: | kirchi [ Вто Авг 21, 2007 10:13 am ] | |||||||||
| Заглавие: | ||||||||||
Ок, мерси. |
||||||||||
| Автор: | zaphod [ Вто Авг 21, 2007 1:16 pm ] |
| Заглавие: | |
ако беше _dcnt-- а не --_dcnt , щеше да може и без него, че и по-добре щеше да е. а това MHZ как минава през компилера ми е някаква мистерия... |
|
| Автор: | ps66 [ Вто Авг 21, 2007 1:41 pm ] | |||||||||
| Заглавие: | ||||||||||
ако сложиш отгоре: #define MHZ *1000000 мистерията изчезва |
||||||||||
| Автор: | kirchi [ Вто Авг 21, 2007 5:11 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
|
|||||||||||||||||||
| Автор: | kirchi [ Вто Авг 21, 2007 5:15 pm ] | ||
| Заглавие: | |||
Ето всичко.
|
|||
| Автор: | Реконструктор [ Вто Авг 21, 2007 5:39 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
C-то е велик език. |
|||||||||||||||||||
| Автор: | zaphod [ Вто Авг 21, 2007 5:51 pm ] |
| Заглавие: | |
аве вие чувете ли се? че и аз се вързах като последен ламер и писах пост където обяснявах че не бива да се прави така, защото 10MHz/5MHz нямало да даде 2. всъщност няма да мине компилация, така както и твърдях в началото, който иска да пробва. |
|
| Автор: | ps66 [ Вто Авг 21, 2007 8:32 pm ] | |||||||||
| Заглавие: | ||||||||||
що не вземеш да го пробваш ... вместо да пишеш глупости ! аз преди да си напиша поста го компилирах - защото не бях сигурен дали препроцесора ще се оправи с 12MHZ (без пауза) |
||||||||||
| Автор: | zaphod [ Вто Авг 21, 2007 10:37 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
на визуалното студио не минава. бях написал поста, когато се освятках че препроцесора подменя само логически отделни стрингове, не прави просто подмяна на низ, както текстовите редактори да речем. ако даден препроцесор подменя подниз, значи е некадърен. пробвах и като видях че не минава и си коригирах поста на компилатора на микрочип дава main.c:57:15: invalid suffix "MHz" on integer constant на микрософтския дава error C2059: syntax error : 'bad suffix on number' това нещо може да мине само на препроцесор-самоделка разбира се, ако има пауза минава, но говорим за случая БЕЗ пауза. |
|||||||||||||||||||
| Автор: | ps66 [ Сря Авг 22, 2007 5:46 am ] | ||||||||||||||||||||||||||||||||||||
| Заглавие: | |||||||||||||||||||||||||||||||||||||
пробвах го на BCB10 - който не ми прилича на самоделка освен това питането на младежа беше "какво е това?" а не защо не ще да се компилира препроцесора не прави проста подмяна на стринг - никоя ключова дума или име не започва с цифри - така че MHZ не е част от стринг (TESTMHZ и 12MHZ са различни за препроцесора) според мен е въпрос на реализация на компилатора, .... но никога не бих написал макроса без пауза ! P.S.
това "MHZ" не е май "MHz" !? мързи ме да го пробвам с VS но съм сигурен че и там ще мине ! |
|||||||||||||||||||||||||||||||||||||
| Автор: | zaphod [ Сря Авг 22, 2007 9:18 am ] |
| Заглавие: | |
е аз не правих пробите със примера който тука момчето е дало, просто пишех #define MHz *1000000 ..... int i=5MHz |
|
| Автор: | kirchi [ Сря Авг 22, 2007 11:34 am ] |
| Заглавие: | |
Това е пример от Hi-tech std 9.60. Реших нето да използвам, вместо да се мъча да пиша. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|