Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PIC16F874 max232n ne ce da vrati informaciju?

[es] :: Elektronika :: Mikrokontroleri :: PIC16F874 max232n ne ce da vrati informaciju?

[ Pregleda: 9159 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

voxi

Član broj: 67178
Poruke: 328
*.teol.net.



Profil

icon PIC16F874 max232n ne ce da vrati informaciju?11.11.2007. u 13:11 - pre 200 meseci
Ovako radim sa picom koji sam naveo u naslovu i sad spojio sam ga na max i povezao sam preko com1 sa PC.
Kada ja tipkam sa tastature podaci se prikazuju na lcd koji prikljucne isto na pic pokazuju tacno ono sto ja otkucam ali ako ja iz pica postavim printf("g"); nece da vrati jednostavno nema nsita na hiperterminalu.
Koristim pic-c kompajler.
Evo i kod:

Code:

#include <16F874.h>
#include <stdlib.h>
#include <string.h>
//#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#include "lcd.c"
#use rs232(baud=115200, xmit=PIN_C6, rcv=PIN_C7)

#bit RCBUFF_FULL=0x0B.4
int j=0;
#INT_RDA
   rs232(){
     int a;  
   a=getc();

 j++;   
   lcd_gotoxy(0,1); 
   printf(lcd_putc,"%d",a);

   lcd_gotoxy(0,7);
   printf(lcd_putc,"%d",j);
   
}

void main(){
   lcd_init();

   enable_interrupts(GLOBAL);
  
   enable_interrupts(INT_RDA);
      
   printf("GED");
        putc('F');

   while(true) {
        while (!RCBUFF_FULL); 
   }

   petlja: goto petlja;

}
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.adsl-1.sezampro.yu.



Profil

icon Re: PIC16F874 max232n ne ce da vrati informaciju?11.11.2007. u 21:42 - pre 200 meseci
A da za pocetak smanjis brzinu na 9600

#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

[Ovu poruku je menjao sander dana 11.11.2007. u 23:02 GMT+1]
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.teol.net.



Profil

icon Re: PIC16F874 max232n ne ce da vrati informaciju?12.11.2007. u 13:04 - pre 200 meseci
Smanjio sam brzinu prenosa ali mi nista nije pomoglo?
Sta dalje da radim i dalje mogu da saljem bez problmea znakove sa tastature ali od povratne informacije nema nista
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.smin-1.sezampro.yu.



Profil

icon Re: PIC16F874 max232n ne ce da vrati informaciju?12.11.2007. u 15:37 - pre 200 meseci
A da li si siguran da si dobro povezao mcu sa com portom PC-a? Ako mozes skiciraj pa eliminisemo hardware kao problem.
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.skaut.net.



Profil

icon Re: PIC16F874 max232n ne ce da vrati informaciju?12.11.2007. u 21:51 - pre 200 meseci
Evo slika po kojoj sam povezao pic, pc.
Prikačeni fajlovi
 
Odgovor na temu

branko_g
Merna tehnika i elektronika

Član broj: 159227
Poruke: 756
*.dynamic.xdsl-line.inode.at.



+9 Profil

icon Re: PIC16F874 max232n ne ce da vrati informaciju?12.11.2007. u 21:53 - pre 200 meseci
Moram da priznam da mi par stvari u tvojem pitanju nisu najjasnije.
Citat:
ali ako ja iz pica postavim printf("g"); nece da vrati jednostavno nema nsita na hiperterminalu.

Gde je to tačno u tvom programu? označi tačno tu programsku liniju sa komentarom // ovaj deo ne radi.
Ta printf je funkcija koja je od kompajlera do kompajlera drugačije implementirana, sa različitom sintaksom.
Na početku je koristiš sa sledećom sintaksom:
Code:
printf(lcd_putc,"%d",a);

U toj programskoj liniji je funkcijom lcd_putc usmeren izlaz printf funkcije na lcd displej i taj deo funkcionira.
Kao prvi parametar printf očekuje pointer na funkciju koja omogućava izdavanje jednog jedinog karaktera, u ovom slučaju lcd-putc.
Ako misliš da sada printf funkciju usmeriš na UART pa na PC onda bi funkcija trebalo izgledati otprilike ovako:
Code:
printf(uart_putc,"%d",a);

s tim da funkciju uart_putc moraš sam da napišeš ili da ja pronađeš među ostalim implementiranim funkcijama.
I ne zaboravi uobičajni headerfile za standard input/output:
Code:
#include <stdio.h>


Ao sve to ne pomogne onda potraži grešku u Hardware-u.
Nacrtaj šemu sa max232, i ispitaj napone na kondenzatorima(radi se o charge pump), ako su elektroliti ispitaj polaritet.
Ispitaj kabel ommetrom. Nadam se da ti je jasno da postoje dve vrste kablova, sa ukrštenim Rx/Tx i 1:1 kabel(produžni).
Proveri u Hiperterminalu da nije slučajno ukljućen Flow Control(Treba biti na NONE).
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.adsl-4.sezampro.yu.



Profil

icon Re: PIC16F874 max232n ne ce da vrati informaciju?12.11.2007. u 23:31 - pre 200 meseci
Sema je OK ali da nisi mozda nesto prilikom lemnjenja prespojio ili lose zalemio?
Kako si podesio protokol na hiper terminalu?
Da li si probao da koristis putc() funkciju za slanje?
Druga stvar, probaj samo slanje bez onog dela za prijem, interapte itd..
Predpostavljam da nemas pri sebi neki osciloskop da pogledas da li iz pica ide neka povorka inpulsa prilikom slanja podataka?
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.smin-1.sezampro.yu.



Profil

icon Re: PIC16F874 max232n ne ce da vrati informaciju?13.11.2007. u 12:42 - pre 200 meseci
Pogledaj alatku koja ti moze pomoci, to je "Vojina sonda" od Voje Antonica narocito deo vezan za analizu seriskog signala.

Link je:

http://www.digitalent.info/Projekti/prj1/prj1.htm
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: PIC16F874 max232n ne ce da vrati informaciju?

[ Pregleda: 9159 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.