/*************** 裝載串口發送緩沖 *******************************/
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置位呢?
|