📄 test_usart.h
字号:
/*********************************************************************
目 的: 建立调试用串口库
目标系统: 基于AVR单片机
应用软件: ICCAVR6.13A
版 本: Version 1.0
完版时间: 2006-08-03
开发人员: 123_zh
说 明: 123_zh版权所有
*********************************************************************/
#ifndef TEST_USART_H
#define TEST_USART_H
#include <stdio.h>
/************UART初始化************/
//晶振
//#define USART_fosc 1000000
//#define USART_fosc 1843200
//#define USART_fosc 2000000
//#define USART_fosc 3686400
#define USART_fosc 4000000
//#define USART_fosc 7372800
//#define USART_fosc 8000000
//#define USART_fosc 11059200
//#define USART_fosc 14745600
//#define USART_fosc 16000000
//#define USART_fosc 18432000
//#define USART_fosc 18432000
//#define USART_fosc 20000000
//波特率
//#define USART_baud 2400
//#define USART_baud 4800
#define USART_baud 9600
//#define USART_baud 14400
//#define USART_baud 19200
//#define USART_baud 28800
//#define USART_baud 38400
//#define USART_baud 57600
void TEST_USART_init(void)
{
UBRRL=(USART_fosc/16/(USART_baud+1))%256;
UBRRH=(USART_fosc/16/(USART_baud+1))/256;
UCSRB=(1<<RXEN)|(1<<TXEN);//允许发送和接收
UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);//8位数据+1位STOP位
}
#endif
/*****************************************************************
int printf(char *fmt, ..)
按照格式说明符输出格式化文本frm 字符串格式说明符是标准格式的一个子集
%d--输出有符号十进制整数
%o --输出无符号八进制整数
%x - 输出无符号十六进制整数
%X –除了大写字母使用'A'-'F'外同 %x
%u - 输出无符号十进制整数
%s – 输出一个以C 中空字符NULL 结束的字符串
%c – 以 ASCII 字符形式输出只输出一个字符
%f – 以小数形式输出浮点数
%S – 输出在FLASH存贮器中的字符串常量
printf 支持三个版本取决于你的特别需要和代码的大小越高的要求代码越大
基本形: 只有 %c, %d, %x, %u, 和 %s 格式说明符是承认的
长整形: 针对长整形数的修改 %ld, %lu, %lx 被支持, 以适用于精度要求较高的领域
浮点形: 全部格式包括%f 被支持
你使用编译选项对话框来选择版本代码大小的增加是值得关注的
范例
printf("输入电压:%d\r\n",125);
int getchar()
使用查寻方式从UART 返回一个字符
范例
i=getchar();
条件发送
if(getchar()==0x03)
{
printf("输入电压:%d\r\n",125);
printf("\r\n\r\n");
}
******************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -