AVRGCC a texty

Kovar Milan mkovar@seznam.cz
Pátek Srpen 20 12:52:38 CEST 2004


> Problem je v tom, ze neposlete ani kousek Vasi rutinky :-)))

Cely testovaci programek posilam.
At pouzije jeden, nebo druhy tvar deklarace, vzdy se vypisuje jen text, 
ktery je primo v parametru, ovsem ten se kopiruje do RAM. Text z 
konstanty se nevypisuje.
Pouzivam AvrEdit V3.5


#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <io.h>
#include <interrupt.h>
#include <sig-avr.h>
#include <pgmspace.h>

const unsigned char __attribute__((progmem)) text1[]="Ahoj";


void UART_transmit(unsigned char data)
     {
     while (!(UCSRA&(1<<UDRE)));
     UDR=data;
     }

void Outtext(const char * __attribute__((progmem)) text)
/*void Outtext(const char *text)*/    {
     while(*text)
         {
         UART_transmit(*text++);
         }
     }

int main(void)
     {
     UBRRH=0x00;
     UBRRL=0x33;
     UCSRB=(1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
     UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
     do
       {
         Outtext(text1);
         Outtext("text1");
       }
     while (1);
     }





Další informace o konferenci Hw-list