Re: Probléma 16F871 UART inicializálásakor?

Fuzesi Arnold arno at freemail.hu
Wed Aug 21 20:19:47 CEST 2002


TRISC 11xx xxxx kell legyen!!!

Ezt talaltam hirtelen:
void main()
{
 SPBRG=64;      file://baud=Fosc/(64*(X+1))
                         file://4.8kbit @ 20Mhz
 TXSTA=0b00100000;    file://8 bit, Tx enable, async, low speed, TX9D=0
 RCSTA=0b10010000;    file://serial port enable, receive enable

for(;;) {
while(!RCIF);
TXREG=RCREG;
}

}
(file:// csak a levelezo hulyesege, komment kezdetet jelenti...)

A prog visszakuldi, amit kap.

Arnold

----- Original Message -----
From: Simon Dávid <bowika2 at freemail.hu>
To: ChipCAD levelezo lista <lista at chipcad.hu>
Sent: Tuesday, August 20, 2002 5:31 PM
Subject: Probléma 16F871 UART inicializálásakor?


Sziasztok!

Próbáltam irni egy 1xű kis progit PIC16F871- re, amivel
össze tudnám kapcsolni a PIC-et egy PC-vel, de sajna
valamiért nem működik.
Hogy miért nem tudom. Már elolvastam tüzetesen a PIC
adatlapját a témával kapcsolatban többször is (már a
sorrendet is betartom), de ennek ellenére sem jövök rá
miért nem megy.
A progi a következő (tartalmaz 1 számlálót is a B porton
csak azért, hogy szkóppal ellenőrizni lehessen, hogy a PIC-
ben fut-e a progi.

list  p=16f871 ; list directive to define processor
 #include <p16f871.inc> ; processor specific variable
definitions

;***********************************************************
***********
 ORG     0x000
   goto    MAIN
 ORG     0x004
   goto    interrupt
MAIN
 BSF STATUS,RP0

 MOVLW 0X00  ;ezt csak azért, hogy lássam
 MOVWF TRISB  ;müködik-e a PIC

 MOVLW 0XBF  ;ezt nem tudom kell-e
 MOVWF TRISC  ;csak a biztonság kedvéért

 MOVLW 0X81  ; 9600 bit/s
 MOVWF SPBRG  ;

 BSF TXSTA,BRGH ;csak a kisebb hiba miatt egyébként azt
    ;se tudom mi a BRGH=0 azt értelme ha
    ;BRGH=1 esetén kisebb a hiba

 BCF TXSTA,SYNC ;aszinkron módra állítás

 BCF STATUS,RP0

 BSF RCSTA,SPEN ; a soros port enedélyezés

 BSF STATUS,RP0

 BSF PIE1,TXIE ;megszakítás eng.

 BCF TXSTA,TX9 ;nem kell 9.bit

 BSF TXSTA,TXEN ;TX engedélyezve

 BSF INTCON,GIE ;ezt nem tudom, hogy kell-e
    ; a adatlap nem irj, de nem árt

 BCF STATUS,RP0

 MOVLW 0X55  ;csak hogy lgyen benne valami
 MOVWF TXREG
KEZDET
 INCF TRISB,F  ; ez csak egy 8.bináris számláló
    ; csak hogy lássam müxik-e a PIC
    ; de megy a freki is OK
 GOTO KEZDET


interrupt
 BCF INTCON,GIE ;hogy ne szakítson félbe

 RRF TXREG,F  ;ezt meg azért, hogy ne mindig ugyanazt

 BSF  INTCON,GIE ;mert csak

 RETFIE   ;ki a soros vonalra
 END


Ha esetleg valakinek van 1 perce rá, nagyon megköszönöm a
segítségét.
Vagy ha esetleg tud valaki küldeni egy UART inicializálás
progit az lenne a legjobb (szétnéztem a neten, de ne igen
találtam röved lényegretöröt).
Előre is köszi mindenkinek a segítséget.

Üdv.:
Bowie




----
lejelentkezes: maiser at chipcad.hu "unsub lista" tartalmu levellel
tovabbi info: maiser at chipcad.hu "help" tartalmu levellel
eszrevetel: postamester at chipcad.hu












More information about the Elektro mailing list