首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

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

2012-05-24 
使用PIC的8位单片机上SIP口如何发送10bit的地址如题,程序已经写出来了,并已完成调试 如下:收发8位数据完全

使用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();

热点排行