|
void putint(unsigned char bw)
{
unsigned char i,j;
//int i;
//8-битный вывод старшим битом вперед! 16 ???.2004
for(i=0;i<8;i++){
SCLK=0;
bw=bw<<1;
DOUT=CY;
for(j=0;j<4;j++);//даём устаканиться
SCLK=1;
for(j=0;j<4;j++);
//printf("%x\n",i);
}
DIN=1;
}
signal void get_mess(void)
{
int i;
unsigned char sum;
while(1){
printf("wait\n");
while(!P1_0)twatch(1);//ждём перехода 0->1
while(P1_0)twatch(1); //ждём перехода 1- 0
printf("transmit begin\n");
sum=0;
for(i=0;i<8;i++){
sum=sum*2;
while(!P1_0)twatch(1);//ждём перехода 0-1
printf("%d \n",sum);
if(P1_1) sum++;
while(P1_0)twatch(1); //ждём перехода 1-0
//if(i==7)_break_=1;
}
printf("Sending =%d\n",sum);
P1_2=1;
}
}
signal void SET_DRDY(void)
{
P1_2=0;
twatch(16);
P1_2=1;
}
signal void start(void){
P1_3=0;
twatch(10);
P1_3=1;
}
signal void SET_SCLK(){
P1_0=0;
twatch(16);
P1_0=1;
}exec("KILL BUTTON *")
define button "DRDY", "SET_DRDY()"
define button "get", "get_mess()"
define button "start", "start()"
define button "SCLK", "SET_SCLK()"
E-mail: info@telesys.ru