Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

PIC16F877A a PIC16F627A zlobí UART
Jdi na stránku Předchozí  1, 2, 3
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út únor 01 2011, 1:33    Předmět: Citovat

Dalo by sa to aj trochu "učesať" ...urobiť z opakujúceho sa kódu podprogramy. Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
walleyman



Založen: May 27, 2008
Příspěvky: 35
Bydliště: Jičín

PříspěvekZaslal: út únor 01 2011, 9:30    Předmět: Citovat

Díky, moc, zatim to můžu jenom trochu urovnat a rotřídít na podprogramy, což jsem měl v plánu .. jenom to nemohu vyzkoušet, než mi přijde nový programátor, včera odešel te starý do křemíkového nebe ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út únor 01 2011, 15:22    Předmět: Citovat

Je mi ľúto, aj to sa stáva.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
walleyman



Založen: May 27, 2008
Příspěvky: 35
Bydliště: Jičín

PříspěvekZaslal: ne únor 06 2011, 19:37    Předmět: Citovat

Tak programátor už je doma, v kodech jsem opravil pár chybiček .. (pojmenování bitů.. a opravil WAIT200uS) ovšem z nějakého důvodu nedochází ke komunikaci ... 627 jen opakovaně vysílá a 877 nic nevrací .. do 877 jde z RXTX modulu přijatý signál .. ovšem 877 už nepřepíná Rx/tx a nic negeneruje ....


16f877.asm
 Komentář:

Stáhnout
 Soubor:  16f877.asm
 Velikost:  11.02 kB
 Staženo:  107 krát


16f627.asm
 Komentář:

Stáhnout
 Soubor:  16f627.asm
 Velikost:  15.09 kB
 Staženo:  115 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: po únor 07 2011, 22:00    Předmět: Citovat

Čo svieti na ledkách?. Asi k tomu nedôjde.
Skús upraviť, aby po chybe sa to vrátilo na START_R

kód:


START_R   
   BSF      RCSTA,CREN   ; zapne sa prijem do RCREG

   BTFSS      PIR1,RCIF      ;ceka na prichozi data (dokud neni naplnen RCREG)           
   goto      $-1      ;


   BTFSC      RCSTA,OERR      ;TEST CHYBY PRIJMU
   GOTO         RESTARTPRIJMU      ;   
   BTFSC      RCSTA,FERR      ;TEST CHYBY PRIJMU
   GOTO         CHYBARAMEC      ;



   MOVF         RCREG,0
   MOVWF      VYBER
   MOVWF      PORTB         ;zobrazeni prichozich dat na LED
       GOTO         MENU

RESTARTPRIJMU
      BCF         RCSTA,4
;     BSF         RCSTA,4         ; nastavi sa po START
      GOTO      START_R
CHYBARAMEC
      MOVF      RCREG,0
      GOTO      START_R
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
walleyman



Založen: May 27, 2008
Příspěvky: 35
Bydliště: Jičín

PříspěvekZaslal: út únor 08 2011, 1:12    Předmět: Citovat

Led jsou všechny v 0, START_R jsem přidal, po drátech vše funguje ale pomocí modulů se situace nezměnila, jinak příchozí data: Přijde 55h pak po dobu 6ms 0 pak po dobu 13ms 1, přijde 55h .... takže 627 generuje a čeká správně .... jen 877 vůbec nereaguje. Dcl rád bych věděl kde je tady zakopaný pes ....
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út únor 08 2011, 7:49    Předmět: Citovat

Možno treba pred vyslaním dát vysielať dlhšie nejaké dáta (nar.10...20 krát 0xFF alebo predĺžiť 10...20x ten BLank), aby sa v prijímači nastavila citlivosť.
Teraz je to cca v dĺžke iba jedneho znaku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Chenzee



Založen: Jun 26, 2007
Příspěvky: 464
Bydliště: Vysočina

PříspěvekZaslal: út únor 08 2011, 18:18    Předmět: Citovat

Kdysi se tu řešilo posílání dat přes Auriel moduly a myslím, že Andrea tehdy psala, že tyto moduly neumí odesílat trvale log 1. Závěr tehdy tuším byl, že je nutné buď seriová data negovat nebo použít vlastní protokol kde výchozí stav je 0. Třeba si to s něčím pletu, třeba ne tak mě prosím nekamenujte ....
_________________
Žádnej učenej z nebe nespadl ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út únor 08 2011, 18:55    Předmět: Citovat

Psala jsem, že to chce používat kódování s nulovou ss složkou, třeba manchester.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út únor 08 2011, 20:42    Předmět: Citovat

Lepšie som si pozrel dadasheet-y.
V popisoch sa uvádza, že tento modul je za istých podmienok vhodný aj pre prenos dat usartom. Nesmie sa prenášať impulz dlhší ako 5ms ...či už Hi, alebo Lo.
Takže z toho mi vychádza:
1/skrátiť úvodný vysielanie BLANK) na cca 2..4ms maximálne 5...10x400us (predtým som radil predĺžiť ..čo je chyba Embarassed )
2/ ak sa to podarí rozbehnúť ...potom zvýšiť prenosovú rýchlosť aspoň na 4,8kBd. Pri prenose 0x00(pri 2,4kBd) by hrozilo prekročenie 5ms kladného impulzu ak by po prenose okamžite nenasledoval nasledujúci znak.
Samozrejme manchester kódovanie by riešilo aj nižšie prenosové rýchlosti a najmä prázdne miesta medzi dátami asynchrónneho prenosu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
walleyman



Založen: May 27, 2008
Příspěvky: 35
Bydliště: Jičín

PříspěvekZaslal: út únor 08 2011, 22:13    Předmět: Citovat

Tak jsem zkrátil dobu běhu Blank a zkrátil dobu čekání na Blank ... bez výsledku .. LED pořád bez odevzy .... na osc vidím, že Blankmá cca kolem 3ms .. což odpovídá kodu ... ovšem 877 pořád nic.


16f627.asm
 Komentář:

Stáhnout
 Soubor:  16f627.asm
 Velikost:  14.85 kB
 Staženo:  100 krát


16f877.asm
 Komentář:

Stáhnout
 Soubor:  16f877.asm
 Velikost:  11.15 kB
 Staženo:  94 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út únor 08 2011, 22:43    Předmět: Citovat

Ešte ma napadá...v inicializácii (v INIT) sa nastaví SPEN tým sa stane TX=Hi.
Potom zapnutie vysielača z PWRDN do TX nie je podľa obrázku
kód:

INIT     
      MOVLW      B'00000111'
      MOVWF      CMCON
      BSF         STATUS,RP0      ;BANKA1
           
      MOVLW      B'00000000'      ;VYSTUPNI PORT A
      MOVWF      TRISA
     
      MOVLW      B'00000110'      ;REZERVACE PORTU B,1,2 PRO SERIOVY PRENOS
      MOVWF      TRISB
     
      MOVLW      D'129'         ;KONSTANTA PRO VYPOCET BAUD RATE
      MOVWF      SPBRG     
     
      MOVLW       B'00100000'    ;zapnuti TXEN
      MOVWF       TXSTA         ;
      CLRF       PIE1          ;Vypnout preruseni na periferiich
      BCF        STATUS,RP0      ;BANKA0
;      BSF         RCSTA,SPEN      ;POVOLENI SERIOVEHO PORTU
;      BCF         RCSTA,CREN      ;POVOLENI PRIJMU ....teraz este bez  prijmu   

;INICIAKZACE BEZDRATOVEHO MODULU
      BSF         ENABLE
      CALL      WAIT20uS
      BSF         RXTX
      CALL      WAIT400uS
 
; !!!po  BST   RCSTA, SPEN sa TX nastav9 do Hi...!!!   oprava
     BSF         RCSTA,SPEN      ;POVOLENI SERIOVEHO PORTU
      BCF         RCSTA,CREN      ;POVOLENI PRIJMU ....teraz este bez     


možno ...?
a to potom treba aj pre 877

Aby sa nemuselo stále prepínať TRISB,RB2 in/out stačí na RB2 dať odpor 4k7 na GND aby sa na TX vnútila Lo aj v režime RB2 ak je IN.
To isté potom aj pre 877 tam je to tuším RC6

Keď sa prepína modul na čítanie a počas čítania ak bude TX=Hi, asi nebude vadiť.


Naposledy upravil procesor dne út únor 08 2011, 23:26, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
walleyman



Založen: May 27, 2008
Příspěvky: 35
Bydliště: Jičín

PříspěvekZaslal: út únor 08 2011, 23:18    Předmět: Citovat

Zkusil jsem, bohužel beze změny .... to by mne zajímalo, kde je tady chyba ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út únor 08 2011, 23:31    Předmět: Citovat

skús tie odpory, to som dopísal pozdejšie, musia tam byť, lebo keď nie je zapnuté SPEN sú RB1 aRB2 nastavené na IN.
Ešte treba po odvysielaní odpojiť SPEN podobne ako pri prepínaní na príjem až po kontrole toho bitu TRMT
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
walleyman



Založen: May 27, 2008
Příspěvky: 35
Bydliště: Jičín

PříspěvekZaslal: pá duben 29 2011, 21:47    Předmět: Citovat

Heh ... koukám, že jsem před nějakým časem zapoměl poděkovat a sdělit, že problém vyřešen Very Happy ...
Odpory to nakonec nebyly .... chyba byla, že se jeden z modulů vypínal příliš brzo, (moduly mají vlastní buffer, tím pádem je signál trošičku spožděný, než na výstupu z procesoru) a uříznul se stop bit ... což byl problém ... jelikož signál pak nebyl pro druhý procesor rozeznatelný ...

Tak tedy trochu opožděně děkuji a omlouvám se za nezdvořilost Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3
Strana 3 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.20 sekund