>>707
oh...
そんなワザがあったのですね
実は、関数でSPIを作ろうと思っていまして、SCLK=10MHzくらいに出来ないか
チャレンジしておりました。wait_fast(1) = 500nsec
それ以前に↓だと、SCLKがLowに貼り付いたまま・・・
void SPI_Data(unsigned iData)
{
int iCnt1,iCnt2=0;
int iloop=0;
unsigned int iBuf[770];

SCLK = 0;
SDO = 0;
LAT = 1; //データラッチ
wait_fast(1);
LAT = 0;

//データ格納
//10進数を2bit -> 配列に格納
while(iData>0){
iBuf[iCnt1]=iData%2;
iData=iData/2;
iCnt1++; //配列カウンタ用
iloop++; //データ カウンタ用
}

iloop=iloop-1;

//データ出力
for(iCnt2=iloop;iCnt2>=0;iCnt2--){
SCLK = 0;
if(iBuf[iCnt2]==0){
SDO=0;
wait_fast(1);
SCLK = 1;
}
else{
SDO=1;
wait_fast(1);
SCLK = 1;
}
wait_fast(1);
}
SDO = 0;
SCLK = 0;
}