1.因为U0DBUF是一个字节大。每次将一个数赋值给它,U0DBUF就有了值,是不是就会产生中断。我想问的是,U0DBUF是不是每收到一个值就产生中断一次?
答:U0DBUF有了值以后,硬件就会自动启动发送,无须软件插手,当U0DBUF数据发送完成,会引发中断标志位UTX0IF置位,软件可通过查询UTX0IF 的状态来判断数据是否发送完,本语句就是查询的办法,U0DBUF在接收到每一个数据时也会置位相应的标志位,如果有中断了程序,则会进入相应的子程序进行处理
2.数据赋给了U0DBUF后,U0DBUF得到数据后,传给谁呢?
答:这个在第一个问题中已经回答,由硬件自动发送数据
void UartTX_Send_String(char *Data,int len)//声明函数
{
int j;//变量从0到len-1,就是len的长度
for(j=0;j
U0DBUF = *Data++;-----每次自动加1
while(UTX0IF == 0);---------判忙
UTX0IF = 0;----------------清零
}
}
发套件,可以满足你的要求