MPSIM a UART

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 00:00
Bydliště: Ostrava

MPSIM a UART

#1 Příspěvek od kony2807 »

Zdravím dámy a pánové !
Mám takový problém - jenoho krásného dne z mi neznámé příčiny odmítl MPSIM v MPLABU poslušnost , při simulování programu místo dat obsažených v souboru začal sypat blbosti . A blbostmi myslím to , že na RCREGu mám permamentně jako nově příchozí znak 255 , nebo se periodicky střídají dva nahodilé znaky - toť vše . A né a né jej přinutit , aby data odpovídala *.txt souboru zadaného v nastavení . Název souboru bez diaktiky , zkrácení cesty na minimum , nepovolení převinutí po konci souboru , nic z toho zdá se nemá žádný vliv . Úmyslně jsem funkčnost testoval i na již oddladěném programu , tam se ale taky nechytá - tím jakš takš vylučuji špatný blok inicializace v kódu .
Test funkčního programu byl na kódu pro 16F628A , simulaci UARTU nutnou pro odladění se pokouším prioritně rozchodit u 16F887 .
Pro případ , že by jádro pudla skutečně bylo v pojistkách , přikládám inkriminovaný blok kódu.
Po třech hodinách marných pokusů o rozchození to již vzdávám ...
Nějaké nápady ? :roll:

Kód: Vybrat vše

INIT
   bcf   STATUS,RP1
   bsf   STATUS,RP0
;banka 1

   movlw   b'10000000'   ; portA 7-0
   movwf   TRISA
   movlw   b'11111111'   ; portB 7-0,
   movwf   TRISB
   movlw   b'11001000'   ; portC 7-0,
   movwf   TRISC
   movlw   b'00000001'   ; portD 7-0,
   movwf   TRISD
   movlw   b'1000'   ; portE 3-0,
   movwf   TRISE

   MOVLW   B'00101110'
   MOVWF   TXSTA
   clrf   SPBRGH   
   MOVLW   12
   MOVWF   SPBRG
   CLRF   PIE1
   BSF      PIE1,RCIE
   CLRF   PIE2   
   movlw   b'01010110'   ; PULL-UPy ON, preddelic=1:128 pripojen k TMR0
   movwf   OPTION_REG   ;
   movlw   b'11111111'
   movwf   WPUB   ;pullup na celém RB               
   clrf   ADCON1
   clrf   IOCB
   
   bsf   STATUS,RP1   ; nastaveni BANKY 1
   bcf   STATUS,RP0   ; nastaveni BANKY 0
;banka 2

   clrf   CM1CON0
   clrf   CM2CON0

   bsf   STATUS,RP1   ; nastaveni BANKY 1
   bsf   STATUS,RP0   ; nastaveni BANKY 0
;banka 3

   clrf   ANSEL      ; všechny piny jsou digitální
   clrf   ANSELH
   movlw   B'10010000'
   movwf   BAUDCTL

   bcf   STATUS,RP1   ; nastaveni BANKY 1
   bcf   STATUS,RP0   ; nastaveni BANKY 0
;banka 0

   clrf   CCP1CON      ;komparátory off
   clrf   CCP2CON
   movlw   B'10010000'
   movwf   RCSTA   
   CLRF   INTCON
   BSF      INTCON,T0IE
   BSF      INTCON,GIE
   BSF      INTCON,PEIE         
   clrf   TMR0      ; nulovat TMR0 (i jeho preddeličku)
   clrf   ADCON0      ;  vypnutí AD
   clrf   05
   clrf   06
   clrf   07
   clrf   08
   clrf   09
   clrf   W_save   
   clrf   Sta_sav
   clrf   PCL_sav      
   clrf   FSR_sav   
   clrf   TMP0_TMR   
   clrf   TMP1_TMR   
   clrf   TMP2_TMR   
   clrf   TMP3_TMR   
   clrf   TMR_POM      
   clrf   EE_ADR            
   clrf   RX_POZ      
   clrf   RX_POM      
   clrf   ADR_RX         
   clrf   DATA_RX         
   clrf   DATA_RX_0      
   clrf   DATA_RX_1      
   clrf   DATA_RX_2      
   clrf   DATA_RX_3         
   clrf   DATA_TX         
   clrf   COMM_TX      
   clrf   TMP0   
   clrf   TMP1   
   clrf   TMP2   
   clrf   TMP         
   clrf   IND_ADR      
   clrf   ADR_TMP   
   clrf   M_pritomne   
   clrf   Prep_poz
   clrf   TMP_M         
   clrf   Priznaky
   movlw   d'1'
   MOVWF   ADR_Aktivni
   clrw
________________________________
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“