使用PIC的8位单片机上SIP口怎么发送10bit的地址

使用PIC的8位单片机上SIP口如何发送10bit的地址
如题,程序已经写出来了,并已完成调试 如下:
收发8位数据完全没问题,但是就是发10位地址的时候,不知道怎么处理,如果使用两次的
SPIPut(add1);
SPIPut(add2);

则两次发送会出现时间间隔,不符合时隙要求,哪位朋友有相关经验的,提示下呀,在线求助。。。。

C/C++ code
void PHYSetLongRAMAddr(WORD address, unsigned char value)
{
    INTE = 0;
        //disabling the interrupt to the microcontroller 写入期间,关闭中断
        MRF_CS = 0;
        //Pull the Chip select signal to low  
    SPIPut((((BYTE)(address>>3))&0b01111111)|0x80);//1(长地址)+10bit(地址)+1bit(写)
        SPIPut((((BYTE)(address<<5))&0b11100000)|0x10);
    
        SPIPut(value);    
        //8 bit value
        MRF_CS = 1;
        //disable chip select
        INTE = 1;
        //Interrupt status is set back to previous state
}


------解决方案--------------------
自己用IO口模拟,不用硬件的SPI。
------解决方案--------------------
SPIPut((((BYTE)(address>>3))&0b01111111)|0x80);//1(长地址)+10bit(地址)+1bit(写)

这个发完八个,再自己添加两个触发信号不是什么难事吧?

如果觉得不和协,那可以起我还好听的名字嘛,叫什么SPIPutHAddr();