📄 p220.c
字号:
/*********************************************************************************
丁玉波试验过的程序:这个程序是第220页的例子
一次只能打开一个文件运行,不要多个例子同时打开运行,config.h文件都在同一个文件中
对ATmega2560.pdf英文版449页手册的所有例子都试验了
可以作为外部函数调用,如果要独立运行试验,请将Pxx改为main即可
丁玉波 2009.04.15.
Compiler: IAR for AVR 4.20
Target: Mega1280 (该手册也适用于ATmega640,ATmega1281,ATmega2560,ATmega2561)
Crystal: 16.0000 MHz
Used:
修改记录:
**********************************************************************************/
#pragma once /*保证头文件只被编译一次*/
#include "config.h" /*头文件配置文件,已将19个例子的头文件都配置了,不用的可删掉*/
void p220(void)
{
USART_Receive9();
}
signed char USART_Receive9(void)
{
unsigned char status, resh, resl;
status=0;
status=status;
resh=0;
resh=resh;
resl=0;
resl=resl;
/*等待接收数据*/
while (!(UCSR1A & (1<<RXC1)));
/*从缓冲器中获得状态,第9位及数据*/
status=UCSR1A;
resh=UCSR1B;
resl=UDR1;
/*如果出错,返回-1*/
if (status & (1<<FE1)|(1<<DOR1)|(1<<UPE1))
return -1;
/*过滤第9位数据,然后返回*/
resh=(resh>>1)& 0x01;
return ((resh<<8)|resl);
}
void main(void)
{
p220();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -