/*************** 装载串口发送缓冲 *******************************/
void TX1_write2buff(u8 dat)
{
TX1_Buffer[COM1.TX_write] = dat;
if(++COM1.TX_write >= COM_TX1_Lenth) COM1.TX_write = 0;
if(COM1.B_TX_busy == 0) //空闲
{
COM1.B_TX_busy = 1; //标志忙
TI = 1; //触发发送中断
}
这是STC串口库函数的装载串口发送缓冲 ,这里为什么要用软件把TI置位,TI不是硬件置位吗?如果再把缓存里的数据给SBUF,数据发送完后硬件是不是又一次把TI置位呢?
|