www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Spreminjane baudrate-a

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
red_mamba
Član
Član



Pridružen-a: Ned 20 Feb 2005 17:56
Prispevkov: 1486
Aktiv.: 6.01
Kraj: Yogyakarta

PrispevekObjavljeno: Tor Dec 02, 2008 1:52 pm    Naslov sporočila:  Spreminjane baudrate-a Odgovori s citatom

Je že kdo uspel spremeniti baudrate med delovanjem?

Imam periferijo, ki jo inicializiram pri 57600, potem bi ji rad nastavil 1150200 ali 230400 in bi jo potem rad vedno uporabljal z to hitrostjo.

poizkusil sem open1usart, potem pa close1usarti in ponovno open pri novi hitrosti pa se mi obesi program.

poizkusil sem samo vrednost registra spremeniti ki deli frekvenco pa mi zadeva deluje prvih nekaj znakov potem pa crkne kot kaže.

_________________
Bad things happen to good people all the time for no reason!
Blog
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 22.60

PrispevekObjavljeno: Tor Dec 02, 2008 2:41 pm    Naslov sporočila:   Odgovori s citatom

Ustavi UART, spremeni baud rate, pocakaj nekaj casa, pozeni UART, nadaljuj s komunikacijo. Vmes pocisti morebitne zastavice (overrun itd.).
_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
red_mamba
Član
Član



Pridružen-a: Ned 20 Feb 2005 17:56
Prispevkov: 1486
Aktiv.: 6.01
Kraj: Yogyakarta

PrispevekObjavljeno: Tor Dec 02, 2008 11:31 pm    Naslov sporočila:   Odgovori s citatom

kaj z close1USART?
_________________
Bad things happen to good people all the time for no reason!
Blog
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 22.60

PrispevekObjavljeno: Tor Dec 02, 2008 11:46 pm    Naslov sporočila:   Odgovori s citatom

Jaz delam take stvari "rocno" (torej s spreminjanjem vrednosti v registrih), ker tako zanesljivo vem, kaj se bo zgodilo in nisem odvisen od kaksnih bugov ali drugih kuriozitet v knjiznicah. Po imenu sklepam, da omenjena funkcija res pocne, kar sem napisal zgoraj - poskusi, pa bos videl.
_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
red_mamba
Član
Član



Pridružen-a: Ned 20 Feb 2005 17:56
Prispevkov: 1486
Aktiv.: 6.01
Kraj: Yogyakarta

PrispevekObjavljeno: Čet Dec 04, 2008 1:16 am    Naslov sporočila:   Odgovori s citatom

še vedno ni gut Rolling Eyes

RCSTA1 = RCSTA1 & 0b01111001;
delay_ms(500);
SPBRG1 = 7;
delay_ms(500);
RCSTA1 = RCSTA1 | 0b10010000;

samo najbolj čudno mi je to, da če pri novem baudu pošiljam recimo ATE0 komando in dobim vedno OK\r\n odgovor bo lepo izpisovalo

če pa vpišem ATEE recimo
in dobim ERRO; potem pa obvisi vsa zadeva. 4znake sprejme pol se pa obesi :S

moj interupt je pa čisto enostaven
if(PIR1bits.RC1IF)
{
c = Read1USART();
CharBuffer1[rx1_head++] = c;
if(rx1_head >= BUFFER_SIZE_USART1)
rx1_head = 0;

PIR1bits.RC1IF = 0;
}

_________________
Bad things happen to good people all the time for no reason!
Blog
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
red_mamba
Član
Član



Pridružen-a: Ned 20 Feb 2005 17:56
Prispevkov: 1486
Aktiv.: 6.01
Kraj: Yogyakarta

PrispevekObjavljeno: Čet Dec 04, 2008 10:27 am    Naslov sporočila:   Odgovori s citatom

no zgleda se overflow zgodi,
FIFO bufer je poln in še vedno se sprejemajo znaki.

se pravi interupt rutina ne hendla vredu podatkov.

sedaj sem malo popravil rutino in bom videl če bo OK Very Happy

_________________
Bad things happen to good people all the time for no reason!
Blog
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 5.99
Kraj: Ljubljana

PrispevekObjavljeno: Čet Dec 04, 2008 4:40 pm    Naslov sporočila:   Odgovori s citatom

Si ustavil interrupte med tem, ko si menjal baudrate? Rolling Eyes
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
red_mamba
Član
Član



Pridružen-a: Ned 20 Feb 2005 17:56
Prispevkov: 1486
Aktiv.: 6.01
Kraj: Yogyakarta

PrispevekObjavljeno: Pet Dec 05, 2008 12:48 am    Naslov sporočila:   Odgovori s citatom

sem odpravil

dodal sem še
while (PIR1bits.RC1IF)

namesto IF

_________________
Bad things happen to good people all the time for no reason!
Blog
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 233 dni


Powered by phpBB © 2001, 2005 phpBB Group