| Автор |
Съобщение |
|
boy
|
 âúïðîñ
ïèøà ïðîãðàìà ñ 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 12:50 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
най-малкото след int read има ;
иначе каква грешка дава?
|
| Вто Апр 26, 2005 1:16 pm |
|
 |
|
boy
|
ñëåä êàòî äîáàâèõ ; êàçà ÷å A0_ANALOG íå å äåôèíèðàí?
|
| Вто Апр 26, 2005 1:28 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Това с какъв компилатор е? Не че има голямо значение... Напиши в хедъра едно , щото компилатора ти незнае кво ти е тва A0_ANALOG, a ти си дефинирал ANALOG_In 
|
| Вто Апр 26, 2005 2:15 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Е то да е само това. Той ако няма хедър..... я виж колко етикети има.
Но предполагам че е наясно, все пак за да пише на С, би трябвало да са му известни тия неща.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Апр 26, 2005 2:30 pm |
|
 |
|
boy
|
Íà CCS C å. Áëàãîäàðÿ!
|
| Вто Апр 26, 2005 2:56 pm |
|
 |
|
boy
|
Ïðîãðàìêàòà òðúãíà, íî êîãàòî íàïðàâèõ ñúîòâåòíèòå èçìåðâàíèÿ ñå îêàçà, ÷å äèîäà íå ñâåòâà ïðè 3V, à ñâåòâà ïðè ïî-øèðîê äèàïàçîí 2.4~4V, à íå âèæäàì çàùî å òàêà. Äàëè òðÿáâà äà íàïðàâÿ äðóãè ïðîìåíè â ïðîãðàìàòà?
|
| Сря Апр 27, 2005 9:34 am |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Това доста зависи от типа на светодиода (ако за такъв говориш де...). Какъв цвят е, какъв диаметър и пр.
|
| Сря Апр 27, 2005 10:13 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30685 Местоположение: София
|
първо тоя IF не трябва да е така ако искаш да ти гасне, трябва да имаш else и там д го гасисш.
А напрежението при което сетва колко си го задал, при Vref=Vcc=5 V ако искаш да светва при 3 V и си на 8 битово преобразуване V=256*3/5=153 /dec
|
| Сря Апр 27, 2005 10:56 am |
|
 |
|
boy
|
Àìè òîâà å êîåòî ìîæàõ äà íàïðàâÿ, íî ïðîáëåìúò ñè ñòîè. Ñâåòîäèîäúò ìè ñâåòâà íå ñàìî ïðè òðè âîëòà, íî è ïðè äðóãè ñòîéíîñòè ïîä è íîä 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);
}
}
|
| Чет Апр 28, 2005 4:40 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Ако това ти е целия код, не е определена посоката на данните на PIN_A2 (светодиода). Т.е. ти трябва нещо от сорта на , за да го установиш като изход. Не забравяй че при PowerUp всички портове се дефинират като входове 
|
| Чет Апр 28, 2005 5:07 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30685 Местоположение: София
|
Не е това, ако не е писал да изпозлва fixed IO или fast IO компилатора сам си гоправи на изход или вход в зависимост от командата.
Обаче ... read го дефиниаш int, това в CCS е 8 битова променлива, а я сравняваш с 16 битовото 0x266 ..... направи си int16 ....дефиницията.
|
| Чет Апр 28, 2005 5:19 pm |
|
 |
|
boy
|
Áëàãîäàðÿ ToHu òðúãíà ñè íîðìàëíî!!!! 
|
| Чет Апр 28, 2005 5:52 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Въх....човек всеки ден да научи по нещо от тука...на това за IO не съм обръщал внимание 
|
| Чет Апр 28, 2005 6:22 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30685 Местоположение: София
|
Мдаааа ... удобно е .. ако не тии трябва бързина не се занмаваш кой вход кой изход, всъщност ако просто пишеш Output_low винаги преди това прави съответния пин в изход, което не е лошо но губи по няколко инструкции, затова си има use_fast_io за съответния порт.
|
| Пет Апр 29, 2005 7:48 am |
|
|