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