Code uart pour Atmega128
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Code uart pour Atmega128



  1. #1
    ingegnere

    Code uart pour Atmega128


    ------

    Bonjour,

    Je suis à la recherche d'un code pour l'uart pour un ATmega128.
    Qu'il remplisse un tableau, par exemple l'ordi envoie une commande A+20, par exemple je pourrais parcourir la trame avec un pointeur.

    Je ne trouve pas le code, sur le site Atmel et AVR freaks.

    Merci de m'aider.

    -----

  2. #2
    ingegnere

    Re : Code uart pour Atmega128

    Pour la réception, recevoir une string et transmission, envoyer une string.
    Et la string est dans un buffer

  3. #3
    PA5CAL

    Re : Code uart pour Atmega128

    Bonjour

    Le jour où l'on trouvera sur Internet tous les codes de toutes les applications possibles et imaginables pour toutes les plateformes disponibles, alors toute l'industrie du logiciel sera au chômage.

    Pourtant, on trouve bien sur Internet des exemples de code pour envoyer et recevoir des « strings » (chaînes de caractères, en français) via l'UART d'un µC AVR. Tu as seulement mal cherché.

    (Pour rappel, le forum n'est pas un bureau d'étude gratuit, ni un service de recherche affilié à Google)
    Dernière modification par PA5CAL ; 20/02/2013 à 10h34.

  4. #4
    ingegnere

    Re : Code uart pour Atmega128

    je pense d'avoir trouvé.
    Juste quelques infos: la fonction uart_getc() reçois bien une string ? et la fonction uart1_puts() envoie une string ?

    Car comme j'ai compris uart_getc() reçois une trame, et uart_puts() envoie une string, en appelant uart_putc().
    L'uart_puts() incrémente uniquement le caractère.

    mon raisonnement est juste ?

    Code:
    /*************************************************************************
    Function: uart_getc()
    Purpose:  return byte from ringbuffer  
    Returns:  lower byte:  received byte from ringbuffer
              higher byte: last receive error
    **************************************************************************/
    unsigned int uart_getc(void)
    {    
        unsigned char tmptail;
        unsigned char data;
    
    
        if ( UART_RxHead == UART_RxTail ) {
            return UART_NO_DATA;   /* no data available */
        }
        
        /* calculate /store buffer index */
        tmptail = (UART_RxTail + 1) & UART_RX_BUFFER_MASK;
        UART_RxTail = tmptail; 
        
        /* get data from receive buffer */
        data = UART_RxBuf[tmptail];
        
        return (UART_LastRxError << 8) + data;
    
    }/* uart_getc */
    
    
    /*************************************************************************
    Function: uart_putc()
    Purpose:  write byte to ringbuffer for transmitting via UART
    Input:    byte to be transmitted
    Returns:  none          
    **************************************************************************/
    void uart_putc(unsigned char data)
    {
        unsigned char tmphead;
    
        
        tmphead  = (UART_TxHead + 1) & UART_TX_BUFFER_MASK;
        
        while ( tmphead == UART_TxTail ){
            ;/* wait for free space in buffer */
        }
        
        UART_TxBuf[tmphead] = data;
        UART_TxHead = tmphead;
    
        /* enable UDRE interrupt */
        UART0_CONTROL    |= _BV(UART0_UDRIE);
    
    }/* uart_putc */
    
    
    /*************************************************************************
    Function: uart_puts()
    Purpose:  transmit string to UART
    Input:    string to be transmitted
    Returns:  none          
    **************************************************************************/
    void uart_puts(const char *s )
    {
        while (*s) 
          uart_putc(*s++);
    
    }/* uart_puts */

  5. A voir en vidéo sur Futura

Discussions similaires

  1. [atmega128 locked] résolu
    Par inviteff7a2099 dans le forum Électronique
    Réponses: 2
    Dernier message: 11/01/2014, 07h37
  2. Liaison UART pour PIC18F2550
    Par invite9ddd7dfb dans le forum Électronique
    Réponses: 3
    Dernier message: 17/05/2010, 08h12
  3. frequence ISP pour atmega128 ?
    Par inviteff7a2099 dans le forum Électronique
    Réponses: 2
    Dernier message: 30/07/2009, 05h04
  4. frequence de calibration pour atmega128 16 MHz
    Par inviteff7a2099 dans le forum Électronique
    Réponses: 0
    Dernier message: 29/07/2009, 00h32
  5. UART pour 16F84
    Par invite103abebb dans le forum Électronique
    Réponses: 4
    Dernier message: 03/04/2008, 22h13
Découvrez nos comparatifs produits sur l'informatique et les technologies.