<html>
  <head>
    <meta content="text/html; charset=ISO-8859-2"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    chyba byla <small>ISR(USART_RXC_vect) místo ISR(USART__RXC_vect),<br>
      zajímavé, že kompilátor na to nic neřekl... <br>
      <br>
      PeTr<br>
      -- <br>
      <br>
    </small>Dne 1.5.2012 9:53, Petr T napsal(a):
    <blockquote cite="mid:4F9F9668.6070100@atlas.cz" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-2">
      <div class="moz-text-html" lang="x-central-euro"> Zdravím,<br>
        <br>
        prosím o radu...<br>
        Pokouším se rozchodit komunikaci mezi Atmega8A a Bluetooth
        modulem.<br>
        Vytvořil jsem si jednoduchý program v AVR Studiu a mám problém
        přijmout data do procesoru...<br>
        Odchozí data fungují normálně, ale jakmile pošlu byte do
        procesoru tak se to někde sekne a procesor přestane reagovat
        (přestane blikat LED, která je v timeru).<br>
        <br>
        Má být nějak speciálně ošetřen vstup RX u procesoru?<br>
        Už jakmile na něj přivedu L úroveň, tak se to sekne...<br>
        <br>
        Přikládám i testovaci SW...<br>
        <br>
        Díky za případnou ochotu pomoci<br>
        <br>
        PeTr<br>
        <br>
        <small>/*<br>
           * UART_TEST1.cpp<br>
          */ <br>
          <br>
          #include "avr\io.h"         // definiční soubor pro
          mikrokontrolér<br>
          #include "avr\interrupt.h"    // přerušení mikrokontroléru<br>
          #include "avr\sfr_defs.h"<br>
//*******************************************************************************************<br>
          //  MOJE UPRAVY<br>
//-------------------------------------------------------------------------------------------<br>
          //<br>
          #define setb(port,pin)    port |= 1&lt;&lt;pin    //nastav bit<br>
          #define clrb(port,pin)    port &amp;= ~(1&lt;&lt;pin) //nuluj
          bit<br>
          #define negb(port,pin)    port ^= 1&lt;&lt;pin    //neguj bit<br>
          <br>
//***********************************************************************************<br>
          <br>
          volatile unsigned char prijem = 0;<br>
          volatile unsigned char rxData = 0;<br>
          <br>
          volatile unsigned char ixTmr0 = 0;<br>
          <br>
          volatile unsigned char fTmr0 = 0;<br>
          <br>
          volatile unsigned char fMerSpeed = 0;<br>
          <br>
          volatile unsigned char prom1;<br>
          <br>
          //---------------------------------------------------<br>
          //Preruseni pri prijmu dat seriovou linkou  <br>
          ISR(USART_RXC_vect)<br>
          {<br>
            rxData = UDR;<br>
            prijem = 1;<br>
            negb(PORTD,6);<br>
          }<br>
          <br>
          //---------------------------------------------------<br>
          // Přerušení při přetečení T/T0<br>
          ISR(TIMER0_OVF_vect)<br>
          {<br>
              TCNT0 = 112;<br>
              ixTmr0++;<br>
              // ixTmr0 &gt;&gt; 1 = 20ms, 4 = 100ms, 24 = 500ms<br>
              if (ixTmr0 &gt; 49)<br>
              {<br>
                  ixTmr0 = 0;<br>
                  fTmr0 = 1;<br>
                  negb(PORTB,0);<br>
              }<br>
          }<br>
          <br>
          // *** Zašle data na UART<br>
          void sendUart(unsigned char value)<br>
          {<br>
              while(!(UCSRA &amp; (1&lt;&lt;UDRE)));<br>
              UDR = value;<br>
          }<br>
          <br>
          //---------------------------------------------------<br>
          int main( void )<br>
          {<br>
          <br>
          // ******Nastaveni portu******<br>
          // DDR: 0 - vstup, 1 - výstup<br>
          // PORT: 0 - "L"/Hi-Z , 1 - "H"/Pull-up<br>
          <br>
          DDRB = 0b00000001;<br>
          PORTB = 0b00000000;<br>
          DDRC = 0b00000000;<br>
          PORTC = 0b00111110;<br>
          DDRD = 0b11000010;<br>
          PORTD = 0b00011100;<br>
          <br>
          // ********Nastaveni seriove linky******** <br>
          // USART: Příjem On, Vysílání On <br>
          // 8 bitů, Parita Žádná, StopBity Jeden <br>
          // Přenosová rychlost 9,6kBaut<br>
          // Přerušení při odeslání bajtu: Off<br>
          // Přerušení při příjmu bajtu: On<br>
          // Přerušení při Data Register Empty: Off<br>
          <br>
          UCSRC = (1&lt;&lt;URSEL)|(3&lt;UCSZ0);<br>
          UCSRB = 0b10011000;  // TX a RX<br>
          <br>
          UBRRH = 0b10000110;<br>
          UBRRL = 47;        //Bautrate 9,6kBaut<br>
          <br>
          // ********Nastaveni čítačů a časovačů********<br>
          <br>
          // *******Čítač časovač0*******<br>
          // Vstupní signál: CK/1024 (f=7,2kHz, T=138,889us)<br>
          // Přerušení při přetečení T/T0<br>
          <br>
          <br>
          // *******Čítač časovač1*******<br>
          // Vstupní signál: Extertní vstup T1, sestupná hrana<br>
          // Mód časovače: Normální čítání<br>
          // Výstup OC1A odpojen<br>
          // Výstup OC1B odpojen<br>
          <br>
          TCCR0 = 0b00000101;<br>
          TIMSK = 0b00000001;<br>
          TCCR1B = 0b00000110;<br>
          TCCR1A = 0b00000000;<br>
          TCNT0 = 112;<br>
          TCNT1 = 0;<br>
          ICR1 = 0;<br>
          OCR1A = 0;<br>
          OCR1B = 0;<br>
          <br>
          sei();        // Zapnutí všech přerušení<br>
          <br>
          while(1)<br>
           {<br>
              if (prijem == 1)<br>
              {<br>
                  prijem = 0;<br>
                  sendUart(51);<br>
                  sendUart(rxData);  // vrátí přijatý byte<br>
              }<br>
              if (fTmr0 == 1)<br>
              {<br>
                  fTmr0 = 0;<br>
                  sendUart(TCNT1H);  // odešle stav čítače 1<br>
                  sendUart(TCNT1L);<br>
              }<br>
           }<br>
          return (1);<br>
          }<br>
          <br>
          <br>
        </small><br>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
  </body>
</html>