| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| âúïðîñ http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=602 |
Страница 1 от 2 |
| Автор: | boy [ Вто Апр 26, 2005 12:50 pm ] |
| Заглавие: | âúïðîñ |
ïèøà ïðîãðàìà ñ adc, àìà êîìïèëàòîðà ìè äàâà ÷å èìàì ãðåøêà. Áèõòå ëè ìè ïîìîãíàëè äà ÿ îòêðèÿ! #include <12F675.h> #fuses XT, NOWDT, PUT #device adc=10 #define V 614 #define G_LED PIN_A2 #define ANALOG_In PIN_A0 main() { int read setup_adc_ports(A0_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); while(TRUE) { read=read_adc(); if(read==V) output_high(G_LED); } } |
|
| Автор: | Реконструктор [ Вто Апр 26, 2005 1:16 pm ] |
| Заглавие: | |
най-малкото след int read има ; иначе каква грешка дава? |
|
| Автор: | boy [ Вто Апр 26, 2005 1:28 pm ] |
| Заглавие: | |
ñëåä êàòî äîáàâèõ ; êàçà ÷å A0_ANALOG íå å äåôèíèðàí? |
|
| Автор: | Predator_MF [ Вто Апр 26, 2005 2:15 pm ] | |||||||||
| Заглавие: | ||||||||||
Това с какъв компилатор е? Не че има голямо значение... Напиши в хедъра едно
|
||||||||||
| Автор: | Цецо [ Вто Апр 26, 2005 2:30 pm ] |
| Заглавие: | |
Е то да е само това. Той ако няма хедър..... я виж колко етикети има. Но предполагам че е наясно, все пак за да пише на С, би трябвало да са му известни тия неща. |
|
| Автор: | boy [ Вто Апр 26, 2005 2:56 pm ] |
| Заглавие: | |
Íà CCS C å. Áëàãîäàðÿ! |
|
| Автор: | boy [ Сря Апр 27, 2005 9:34 am ] |
| Заглавие: | |
Ïðîãðàìêàòà òðúãíà, íî êîãàòî íàïðàâèõ ñúîòâåòíèòå èçìåðâàíèÿ ñå îêàçà, ÷å äèîäà íå ñâåòâà ïðè 3V, à ñâåòâà ïðè ïî-øèðîê äèàïàçîí 2.4~4V, à íå âèæäàì çàùî å òàêà. Äàëè òðÿáâà äà íàïðàâÿ äðóãè ïðîìåíè â ïðîãðàìàòà? |
|
| Автор: | Predator_MF [ Сря Апр 27, 2005 10:13 am ] |
| Заглавие: | |
Това доста зависи от типа на светодиода (ако за такъв говориш де...). Какъв цвят е, какъв диаметър и пр. |
|
| Автор: | ToHu [ Сря Апр 27, 2005 10:56 am ] |
| Заглавие: | |
първо тоя IF не трябва да е така ако искаш да ти гасне, трябва да имаш else и там д го гасисш. А напрежението при което сетва колко си го задал, при Vref=Vcc=5 V ако искаш да светва при 3 V и си на 8 битово преобразуване V=256*3/5=153 /dec |
|
| Автор: | boy [ Чет Апр 28, 2005 4:40 pm ] |
| Заглавие: | |
Àìè òîâà å êîåòî ìîæàõ äà íàïðàâÿ, íî ïðîáëåìúò ñè ñòîè. Ñâåòîäèîäúò ìè ñâåòâà íå ñàìî ïðè òðè âîëòà, íî è ïðè äðóãè ñòîéíîñòè ïîä è íîä 3 âîëòà?????????? #include <12F675.h> #fuses XT, NOWDT, PUT, NOPROTECT #device adc=10 #define V 0x266 #define G_LED PIN_A2 #define A0 PIN_A0 #use DELAY(clock=4000000) main() { int read; setup_comparator(NC_NC_NC_NC); setup_adc_ports(A0); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); while(TRUE) { delay_us(10); read=read_adc(); if(read==V) output_high(G_LED); else output_low(G_LED); } } |
|
| Автор: | Predator_MF [ Чет Апр 28, 2005 5:07 pm ] | |||||||||
| Заглавие: | ||||||||||
Ако това ти е целия код, не е определена посоката на данните на PIN_A2 (светодиода). Т.е. ти трябва нещо от сорта на
|
||||||||||
| Автор: | ToHu [ Чет Апр 28, 2005 5:19 pm ] |
| Заглавие: | |
Не е това, ако не е писал да изпозлва fixed IO или fast IO компилатора сам си гоправи на изход или вход в зависимост от командата. Обаче ... read го дефиниаш int, това в CCS е 8 битова променлива, а я сравняваш с 16 битовото 0x266 ..... направи си int16 ....дефиницията. |
|
| Автор: | boy [ Чет Апр 28, 2005 5:52 pm ] |
| Заглавие: | |
Áëàãîäàðÿ ToHu òðúãíà ñè íîðìàëíî!!!! |
|
| Автор: | Predator_MF [ Чет Апр 28, 2005 6:22 pm ] |
| Заглавие: | |
Въх....човек всеки ден да научи по нещо от тука...на това за IO не съм обръщал внимание |
|
| Автор: | ToHu [ Пет Апр 29, 2005 7:48 am ] |
| Заглавие: | |
Мдаааа ... удобно е .. ако не тии трябва бързина не се занмаваш кой вход кой изход, всъщност ако просто пишеш Output_low винаги преди това прави съответния пин в изход, което не е лошо но губи по няколко инструкции, затова си има use_fast_io за съответния порт. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|