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 + -
显示快捷键?