D
david90
Guest
Jeg prøver å kompilere denne koden
Code:
//************************************************ *****************************
/ / File Name: rprintftest.c
/ /
/ / Tittel: Eksempel på bruk av rprintf biblioteket funksjoner
/ / Gjennomgang: 1.0
/ / Notes:
/ / Målrett MCU: Atmel AVR serierekke
/ / Editor faner: 4
/ /
/ / Revisjonshistorie:
/ / Når Hvem Beskrivelse av endring
/ / ----------- ----------- -----------------------
/ / 10-Sep-2002 pstang Opprettet programmet
//************************************************ *****************************//----- Omfatte filer ----------------------------------------- ----------------
# include <avr/io.h> / / inkluderer I / O definisjoner (port navnene pin navn, osv.)
# include <avr/signal.h> / / include "signal" navn (avbruddsordrelinje navn)
# include <avr/interrupt.h> / / inkluderer avbruddsordrelinje støtte# include "global.h" / / inkludere våre globale innstillingene
# include "uart.h" / / inkluderer UART funksjon biblioteket
# include "rprintf.h" / / inkluderer printf funksjon biblioteket
# include "timer.h" / / inkluderer timer funksjon biblioteket (timing, PWM, etc)
# include "vt100.h" / / inkluderer VT100 terminal supportvoid rprintfTest (void);//----- Begin Code ----------------------------------------- -------------------
int main (void)
(
/ / Initialiserer våre biblioteker
/ / Initialisere UART (seriell port)
uartInit ();
/ / Stille baudhastighet av UART for våre debug / rapportering output
uartSetBaudRate (9600);
/ / Initialiserer tidtaker system
timerInit ();/ / Initialiserer rprintf system
/ / - Bruk uartSendByte som utgang for alle rprintf uttalelser
/ / Dette vil føre alle rprintf biblioteket funksjoner for å dirigere sine
/ / Output til UART
/ / - Rprintf kan gjøres for å sende ut til en enhet som tar tegn.
/ / Du må skrive inn en funksjon som tar en unsigned char som et argument
/ / Og så pass dette til rprintfInit slik: rprintfInit (YOUR_FUNCTION);
rprintfInit (uartSendByte);/ / Initialiserer vt100 biblioteket
vt100Init ();/ / Tømme terminalen skjermen
vt100ClearScreen ();/ / Kjøre test
rprintfTest ();return 0;
)void rprintfTest (void)
(
u16 val;
u08 mydata;
u08 mystring [10];
float b;
u08 small;
u16 medium;
u32 store;/ / Skrive ut en liten intro melding så vi vet ting fungerer
rprintf ( "\ r \ nDette er kult program! \ r \ n");rprintf ( "\ r \ nWelcome til rprintf Test! \ r \ n");/ / Print enkelt tegn
rprintfChar ( 'H');
rprintfChar ( 'e');
rprintfChar ( 'l');
rprintfChar ( 'l');
rprintfChar ( 'o');
/ / Skriver ut en konstant streng lagret i flash
rprintfProgStrM ( "World!");
/ / Print vognretur, linjeskift kombinasjon
rprintfCRLF ();
/ / Oppmerksom på at bruk rprintfCRLF () er mer minne-effektiv enn
/ / Bruker rprintf ( "\ r \ n"), særlig hvis du gjør det flere gangermystring [0] = 'A';
mystring [1] = '';
mystring [2] = 'S';
mystring [3] = 't';
mystring [4] = 'r';
mystring [5] = 'i';
mystring [6] = 'n';
mystring [7] = 'g';
mystring [8] = '!';
mystring [9] = 0; / / null oppsigelse/ / Skriver ut en null-avbrutte strengen fra RAM
rprintfStr (mystring);
rprintfCRLF ();/ / Skriver ut en del av en streng fra RAM
/ / - Starte på indeks 2
/ / - Print 6 tegn
rprintfStrLen (mystring, 2, 6);
rprintfCRLF ();val = 24060;
mydata = 'L';/ / Skriver ut en desimal tall
rprintf ( "Dette er en desimal tall:% d \ r \ n", val);/ / Skriver ut en hex tall
rprintf ( "Dette er en hex nummer:% x \ r \ n", mydata);/ / Skriver ut en bokstav
rprintf ( "Dette er et tegn:% c \ r \ n", mydata);/ / Print heksadesimale tall
liten = 0x12; / / a char
medium = 0x1234; / / kort
store = 0x12345678; / / langrprintf ( "Dette er et 2-sifret heksadesimale tall (char):");
rprintfu08 (små);
rprintfCRLF ();rprintf ( "Dette er en 4-sifrede hex nummer (kort):");
rprintfu16 (medium);
rprintfCRLF ();rprintf ( "Dette er en 8-sifret heksadesimale tall (lang):");
rprintfu32 (stor);
rprintfCRLF ();/ / Skriver ut en formatert desimale tall
/ / - Bruk base 10
/ / - Bruk 8 tegn
/ / - Nummeret er signert [TRUE]
/ / - Puten med "."
perioder
rprintf ( "Dette er en formatert desimale tall:");
rprintfNum (10, 8, TRUE, '.', val);
rprintfCRLF ();b = 1.23456;/ / Skriver ut en flytende poengsummen
/ / Bruk 10-sifret presisjon/ / MERK: Hvis du vil bruke rprintfFloat () Du må aktivere støtte i global.h
/ / Bruk følgende i global.h: # define RPRINTF_FLOAT/ / rprintf ( "Dette er en flytende punkt nummer:");
/ / rprintfFloat (8, b);
/ / rprintfCRLF ();
)
Code:
//************************************************ *****************************
/ / File Name: rprintftest.c
/ /
/ / Tittel: Eksempel på bruk av rprintf biblioteket funksjoner
/ / Gjennomgang: 1.0
/ / Notes:
/ / Målrett MCU: Atmel AVR serierekke
/ / Editor faner: 4
/ /
/ / Revisjonshistorie:
/ / Når Hvem Beskrivelse av endring
/ / ----------- ----------- -----------------------
/ / 10-Sep-2002 pstang Opprettet programmet
//************************************************ *****************************//----- Omfatte filer ----------------------------------------- ----------------
# include <avr/io.h> / / inkluderer I / O definisjoner (port navnene pin navn, osv.)
# include <avr/signal.h> / / include "signal" navn (avbruddsordrelinje navn)
# include <avr/interrupt.h> / / inkluderer avbruddsordrelinje støtte# include "global.h" / / inkludere våre globale innstillingene
# include "uart.h" / / inkluderer UART funksjon biblioteket
# include "rprintf.h" / / inkluderer printf funksjon biblioteket
# include "timer.h" / / inkluderer timer funksjon biblioteket (timing, PWM, etc)
# include "vt100.h" / / inkluderer VT100 terminal supportvoid rprintfTest (void);//----- Begin Code ----------------------------------------- -------------------
int main (void)
(
/ / Initialiserer våre biblioteker
/ / Initialisere UART (seriell port)
uartInit ();
/ / Stille baudhastighet av UART for våre debug / rapportering output
uartSetBaudRate (9600);
/ / Initialiserer tidtaker system
timerInit ();/ / Initialiserer rprintf system
/ / - Bruk uartSendByte som utgang for alle rprintf uttalelser
/ / Dette vil føre alle rprintf biblioteket funksjoner for å dirigere sine
/ / Output til UART
/ / - Rprintf kan gjøres for å sende ut til en enhet som tar tegn.
/ / Du må skrive inn en funksjon som tar en unsigned char som et argument
/ / Og så pass dette til rprintfInit slik: rprintfInit (YOUR_FUNCTION);
rprintfInit (uartSendByte);/ / Initialiserer vt100 biblioteket
vt100Init ();/ / Tømme terminalen skjermen
vt100ClearScreen ();/ / Kjøre test
rprintfTest ();return 0;
)void rprintfTest (void)
(
u16 val;
u08 mydata;
u08 mystring [10];
float b;
u08 small;
u16 medium;
u32 store;/ / Skrive ut en liten intro melding så vi vet ting fungerer
rprintf ( "\ r \ nDette er kult program! \ r \ n");rprintf ( "\ r \ nWelcome til rprintf Test! \ r \ n");/ / Print enkelt tegn
rprintfChar ( 'H');
rprintfChar ( 'e');
rprintfChar ( 'l');
rprintfChar ( 'l');
rprintfChar ( 'o');
/ / Skriver ut en konstant streng lagret i flash
rprintfProgStrM ( "World!");
/ / Print vognretur, linjeskift kombinasjon
rprintfCRLF ();
/ / Oppmerksom på at bruk rprintfCRLF () er mer minne-effektiv enn
/ / Bruker rprintf ( "\ r \ n"), særlig hvis du gjør det flere gangermystring [0] = 'A';
mystring [1] = '';
mystring [2] = 'S';
mystring [3] = 't';
mystring [4] = 'r';
mystring [5] = 'i';
mystring [6] = 'n';
mystring [7] = 'g';
mystring [8] = '!';
mystring [9] = 0; / / null oppsigelse/ / Skriver ut en null-avbrutte strengen fra RAM
rprintfStr (mystring);
rprintfCRLF ();/ / Skriver ut en del av en streng fra RAM
/ / - Starte på indeks 2
/ / - Print 6 tegn
rprintfStrLen (mystring, 2, 6);
rprintfCRLF ();val = 24060;
mydata = 'L';/ / Skriver ut en desimal tall
rprintf ( "Dette er en desimal tall:% d \ r \ n", val);/ / Skriver ut en hex tall
rprintf ( "Dette er en hex nummer:% x \ r \ n", mydata);/ / Skriver ut en bokstav
rprintf ( "Dette er et tegn:% c \ r \ n", mydata);/ / Print heksadesimale tall
liten = 0x12; / / a char
medium = 0x1234; / / kort
store = 0x12345678; / / langrprintf ( "Dette er et 2-sifret heksadesimale tall (char):");
rprintfu08 (små);
rprintfCRLF ();rprintf ( "Dette er en 4-sifrede hex nummer (kort):");
rprintfu16 (medium);
rprintfCRLF ();rprintf ( "Dette er en 8-sifret heksadesimale tall (lang):");
rprintfu32 (stor);
rprintfCRLF ();/ / Skriver ut en formatert desimale tall
/ / - Bruk base 10
/ / - Bruk 8 tegn
/ / - Nummeret er signert [TRUE]
/ / - Puten med "."
perioder
rprintf ( "Dette er en formatert desimale tall:");
rprintfNum (10, 8, TRUE, '.', val);
rprintfCRLF ();b = 1.23456;/ / Skriver ut en flytende poengsummen
/ / Bruk 10-sifret presisjon/ / MERK: Hvis du vil bruke rprintfFloat () Du må aktivere støtte i global.h
/ / Bruk følgende i global.h: # define RPRINTF_FLOAT/ / rprintf ( "Dette er en flytende punkt nummer:");
/ / rprintfFloat (8, b);
/ / rprintfCRLF ();
)