 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
| Poglej prejšnjo temo :: Poglej naslednjo temo |
| Avtor |
Sporočilo |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.01 Kraj: Yogyakarta
|
Objavljeno: Tor Dec 02, 2008 1:52 pm Naslov sporočila: Spreminjane baudrate-a |
|
|
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 |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 22.60
|
Objavljeno: Tor Dec 02, 2008 2:41 pm Naslov sporočila: |
|
|
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 |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.01 Kraj: Yogyakarta
|
Objavljeno: Tor Dec 02, 2008 11:31 pm Naslov sporočila: |
|
|
kaj z close1USART? _________________ Bad things happen to good people all the time for no reason!
Blog |
|
| Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 22.60
|
Objavljeno: Tor Dec 02, 2008 11:46 pm Naslov sporočila: |
|
|
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 |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.01 Kraj: Yogyakarta
|
Objavljeno: Čet Dec 04, 2008 1:16 am Naslov sporočila: |
|
|
še vedno ni gut
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 |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.01 Kraj: Yogyakarta
|
Objavljeno: Čet Dec 04, 2008 10:27 am Naslov sporočila: |
|
|
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  _________________ Bad things happen to good people all the time for no reason!
Blog |
|
| Nazaj na vrh |
|
 |
bungee Član


Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 5.99 Kraj: Ljubljana
|
Objavljeno: Čet Dec 04, 2008 4:40 pm Naslov sporočila: |
|
|
Si ustavil interrupte med tem, ko si menjal baudrate?  |
|
| Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.01 Kraj: Yogyakarta
|
Objavljeno: Pet Dec 05, 2008 12:48 am Naslov sporočila: |
|
|
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 |
|
 |
|
|
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
|