| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| bin to bcd http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=7259 |
Страница 1 от 1 |
| Автор: | mash [ Сря Окт 28, 2009 7:28 pm ] |
| Заглавие: | bin to bcd |
Имам проблем със следния код: int i; ... .... ... int get_bcd(BYTE data) { int nibh; int nibl; nibh=data/10; nibl=data-(nibh*10); return((nibh<<4)|nibl); } write_ds1307(0,get_bcd(i)); При компилиране ми излиза следното : Expecting a close paren |
|
| Автор: | bobyper [ Сря Окт 28, 2009 8:15 pm ] |
| Заглавие: | Re: bin to bcd |
От този код не се наблюдава липсваща скоба. Вероятно е в другата част дето не е показана |
|
| Автор: | fan [ Сря Окт 28, 2009 8:23 pm ] |
| Заглавие: | |
Кода е наред, търси на друго място! |
|
| Автор: | RM [ Сря Окт 28, 2009 8:46 pm ] | |||||||||
| Заглавие: | ||||||||||
това върши ли работа |
||||||||||
| Автор: | mash [ Сря Окт 28, 2009 11:23 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Не!..... много интересно ... пробвах различни варианти. От там е проблема, защото компилатора ми маркира i след пробата да компилирам кода |
|||||||||||||||||||
| Автор: | tommyboy [ Чет Окт 29, 2009 12:10 am ] |
| Заглавие: | |
void BINtoDEC() { for (DIG_10000=0; Vout>=10000; DIG_10000++){ Vout = Vout - 10000; } for (DIG_1000=0; Vout>=1000; DIG_1000++){ Vout = Vout - 1000; } for (DIG_100=0; Vout>=100; DIG_100++){ Vout = Vout - 100; } for (DIG_10=0; Vout>=10; DIG_10++){ Vout = Vout - 10; } for (DIG_1=0; Vout>=1; DIG_1++){ Vout = Vout - 1; } } Писано е на микроС , Vout е число в бин, а DIG_10000,DIG_1000,DIG_100... са десетохилядни, хилядни и т.н. |
|
| Автор: | kiiid [ Чет Окт 29, 2009 2:15 am ] |
| Заглавие: | |
bx=(unsigned char)(((x/10)<<4)+(x%10)) Това ти взима BIN число и ти го прави на BCD. Не разбрах за какво ти беше цяла фунция за това |
|
| Автор: | Wise [ Чет Окт 29, 2009 10:46 am ] |
| Заглавие: | |
без да съм навътре в C мисля, че това BYTE не е дефинирано. Ако е int или char би трябвало да се компилира |
|
| Автор: | mash [ Съб Окт 31, 2009 10:02 am ] | |||||||||
| Заглавие: | ||||||||||
не става нещо зациклих .... преглеждах целия код и никъде няма проблем в него. Като го оставя така write_ds1307(0,i); и се компилира но така:write_ds1307(0,get_bcd(i)); не иска ... |
||||||||||
| Автор: | zaphod [ Съб Окт 31, 2009 10:06 am ] |
| Заглавие: | |
къв компилер ползваш бе чадо? кода наистина изглежда наред, да не си на нещо писано от ентусиасти? |
|
| Автор: | mash [ Съб Окт 31, 2009 10:19 am ] | |||||||||
| Заглавие: | ||||||||||
CCS 4.033 |
||||||||||
| Автор: | mash [ Съб Окт 31, 2009 12:05 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
ето вида в който не се компилира:
ето и вида в който се компилира в същата програма :
|
|||||||||||||||||||
| Автор: | fan [ Съб Окт 31, 2009 12:38 pm ] |
| Заглавие: | |
Слушай, има нещо друго. При мен всичко се компилира - естствено с добавяне на променливи и фантомни функции на мястото на write_ds1307 и get_bcd (ами не си ги постнал). И си сложи по-нова версия - няма да ти гръмне компа от нея, в момента из нета можеш да си намериш 4.093. Не е лошо и да си пооправиш стила на писане в си-то(ако искаш?!). |
|
| Автор: | mash [ Вто Ное 03, 2009 6:41 pm ] |
| Заглавие: | |
Реших проблема като организирах нова подпрограма в която да се изпълни това. Мерси за отговорите. Вече съм с нова версия |
|
| Автор: | sv_shady [ Сря Ное 04, 2009 2:31 am ] |
| Заглавие: | |
Абе то проблема не е от весията, но по добре да имаш по-нова от 4.033, а иначе наистина, пооправи си стила на писане, защото това ме отказа да ти разгледам кода. Слагай нови редове, табчета, е такива работи, помагат. Как дебъгваш такъв код не знам... |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|