testuart.c

来自「Source code for driving RFM01 fm radio r」· C语言 代码 · 共 82 行

C
82
字号
/*--------------------------------------------------------------------- */
/*	Demo biblioteki UART						*/
/*	Autor: Robert Krysztof						*/
/* 	WWW:	http://www.8051.prv.pl 					*/
/*	E-mail: robert.krysztof@wp.pl					*/
/*--------------------------------------------------------------------- */

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <stdlib.h>
#include "uart.h"

/*--------------------------------------------------------------------- */
/*			Deklaracje tablic i zmiennych			*/
/*--------------------------------------------------------------------- */

prog_char ANSI_NEWLINE[] = {'\n','\r',0}; 
	// tablica zawiaraj筩a znaki nowej linii
prog_char ANSI_CLEAR[] = {27,'[','H',27,'[','2','J',0};
	// j.w. ale czyszcz筩za ekran terminala

char text_E[] __attribute__((section(".eeprom"))) = "Tekst z pami阠i EEPROM";

char text_P[] __attribute__((section(".progmem"))) = "Tekst z pami阠i FLASH";

/*--------------------------------------------------------------------- */
/*		  Definicje stalych i makroinstrukcji			*/
/*--------------------------------------------------------------------- */

#define PRINT(p)	UART_putstr_P(PSTR(p))
#define CLEAR()		UART_putstr_P(ANSI_CLEAR)
#define NEWLINE()	UART_putstr_P(ANSI_NEWLINE)

/*--------------------------------------------------------------------- */
/* ----------------		Program glowny 	    ------------------- */
/*--------------------------------------------------------------------- */

int main(void)
{            
  char c;			// bufor na znak
  char s[UART_MAX_GETSTR+1];	// bufor na 砤馽uch znak體
  s16 liczba=0x5555;		// liczba do testowania
  UART_init();			// inicjalizacja portu szeregowego
            
  PRINT("Test biblioteki UART .....\n\r");
  while(1)
  { 
    CLEAR();
    PRINT("Testowanie funkcji UART_putstr_P() i UART_putstr_E()");
    NEWLINE();
    UART_putstr_P(text_P);
    NEWLINE();
    UART_putstr_E(text_E);
    NEWLINE();

    NEWLINE();
    PRINT("Testowanie funkcji UART_putint()");
    NEWLINE();
    PRINT("Dw骿kowo: ");
    UART_putint(liczba,2);
    NEWLINE();
    PRINT("觭emkowo: ");
    UART_putint(liczba,8);
    NEWLINE();
    PRINT("Dziesi阾nie: ");
    UART_putint(liczba,10);
    NEWLINE();
    PRINT("Szesnaskowo: ");
    UART_putint(liczba,16);
    NEWLINE();
/*
    NEWLINE();
    PRINT("Testowanie funkcji UART_getchar() i UART_putchar()");
    NEWLINE();
    PRINT("Wy渓ij cokolwiek z terminala, znak \"t\" ko馽zy...");
    NEWLINE();
    do
    {
      c=UART_getchar();		// pobierz znak z wejscia
      UART_putchar(c);		// zr骲 echo
    }
    while (c != 't');		// a

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?