Микроконтролери и електроника
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 ]
Заглавие: 

Това с какъв компилатор е? Не че има голямо значение... Напиши в хедъра едно
Код:
define A0_ANALOG PIN_A0
, щото компилатора ти незнае кво ти е тва A0_ANALOG, a ти си дефинирал ANALOG_In :)

Автор:  Цецо [ Вто Апр 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 (светодиода). Т.е. ти трябва нещо от сорта на
Код:
set_tris_a(0bХХХХХ0ХХ)
, за да го установиш като изход. Не забравяй че при PowerUp всички портове се дефинират като входове 8)

Автор:  ToHu [ Чет Апр 28, 2005 5:19 pm ]
Заглавие: 

Не е това, ако не е писал да изпозлва fixed IO или fast IO компилатора сам си гоправи на изход или вход в зависимост от командата.
Обаче ... read го дефиниаш int, това в CCS е 8 битова променлива, а я сравняваш с 16 битовото 0x266 ..... направи си int16 ....дефиницията.

Автор:  boy [ Чет Апр 28, 2005 5:52 pm ]
Заглавие: 

Áëàãîäàðÿ ToHu òðúãíà ñè íîðìàëíî!!!! :D

Автор:  Predator_MF [ Чет Апр 28, 2005 6:22 pm ]
Заглавие: 

Въх....човек всеки ден да научи по нещо от тука...на това за IO не съм обръщал внимание :D

Автор:  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/