USART-pomoc – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

USART-pomoc – C / C++ – Fórum – Programujte.comUSART-pomoc – C / C++ – Fórum – Programujte.com

 

simon
~ Anonymní uživatel
15 příspěvků
13. 5. 2014   #1
-
0
-

Napište program pro vyslání libovolného textu do PC. Přenosová rychlost 19200 Bd.Datový rámec: 8 datových bitů, 2 STOP bity, lichá parita. fCLK = 20MHz. Použijte program TERMINAL.a jeste tlačítko pro vysilani textu do pc :) prooosiiim nevim si rady :/

Nahlásit jako SPAM
IP: 94.199.199.–
13. 5. 2014   #2
-
0
-

www.atmel.com  datasheet a application notes. Kromě toho se tu něco takového rozebíralo nedávno

hu

Nahlásit jako SPAM
IP: 188.95.60.–
KIIV
~ Moderátor
+43
God of flame
13. 5. 2014   #3
-
0
-

minimalne bys mel aspon kdaknout o jaky hardware se jedna... muze to byt totiz prakticky cokoliv

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
13. 5. 2014   #4
-
0
-

#3 KIIV
no vidíš. Automaticky jsem předpokládal nějakou ATTiny

hu

Nahlásit jako SPAM
IP: 188.95.60.–
13. 5. 2014   #5
-
0
-

Vysílání můžeš řídit dvěma způsoby:

1. testovat pravidelně příznak
2. přerušením (vhodnější)

Text budeš mít asi v bufferu char*. Algoritmus:

1. Nastavíš GPIO - pin RxD jako výstup
2. Nastavíš a povolíš přerušení vyvolané vyprázdněním vysílacího registru USART
3. Nastavíš USART - pro baudrate a fclk ti pomůže tabulka z datasheetu
4. zahájíš vysílání - zapíšeš první znak do vysílacího registru

V obsluze přerušení budeš zapisovat znak který následuje po odvysílaném znaku. Pokud poslední odvysílaný znak byl 0x00, ukončíš vysílání.

hu

Nahlásit jako SPAM
IP: 188.95.60.–
KIIV
~ Moderátor
+43
God of flame
13. 5. 2014   #6
-
0
-

#4 hlucheucho
Taky vicemene predpokladam nejake AVR. A tech co jsou ratovany na 20MHz zase tak moc neni. AT megy 48/88/168/328 a mozna i 644/1284 .. u tiny moc nevim.

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
13. 5. 2014   #7
-
0
-

Až z něj vypadne, že je to ARM nebo nějaká modifikovaná 8051, bude veselo   

hu

Nahlásit jako SPAM
IP: 188.95.60.–
simon
~ Anonymní uživatel
15 příspěvků
13. 5. 2014   #8
-
0
-

   

Připojen obrázek.

to v ramečku by melo být to tlačitko je to spatne a už nwm jak dál prosim pomocte je to 2313 :) 

Nahlásit jako SPAM
IP: 94.199.199.–
simon
~ Anonymní uživatel
15 příspěvků
13. 5. 2014   #9
-
0
-

#3 KIIV
je to 2313 :)

Nahlásit jako SPAM
IP: 94.199.199.–
KIIV
~ Moderátor
+43
God of flame
13. 5. 2014   #10
-
0
-

#8 simon
if ((PINB & _BV(PINB2)) == 0) ...

PINB2 je jen konstanta s hodnotou 2 - musi se nacist cely port B a pak odmaskovat pomoci:  1<<PINB2   coz dela i makro _BV

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
simon
~ Anonymní uživatel
15 příspěvků
13. 5. 2014   #11
-
0
-

#10 KIIV
nepomohl bys mi to prosim nejak dopsat ? :) jenom to tlačitko byl bych moc vdečny :)

Nahlásit jako SPAM
IP: 94.199.199.–
KIIV
~ Moderátor
+43
God of flame
13. 5. 2014   #12
-
0
-

#11 simon
 

#define TXD PD1
#define RXD PD0

// ...

int main(void) {
  DDRB = 0x00;
  PORTB= 0xFF;
  DDRD = _BV(TXD); // TXD pin as output (PD1)
  PORTD= 0xFF;     // enable pullups

  USART_init();

  while (1) {
    if ((PINB & _BV(PINB2))==0) {
      // ...
    }
  }
}


jen musis tak nejak pocitat s tim, ze kdyz podrzis tlacitko a nebudes kontrolovat, jestli uz se predchozi znak odeslal cely, tak ze to bude posilat nesmysly tim jak se budou prepisovat data v UDR

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
simon
~ Anonymní uživatel
15 příspěvků
13. 5. 2014   #13
-
0
-

#12 KIIV
dobre :) diky moc :)) važím si toho :)

Nahlásit jako SPAM
IP: 94.199.199.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 69 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý