[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/diy/ - Do It Yourself

Search:


View post   

>> No.1948697 [View]
File: 6 KB, 762x139, Capture.png [View same] [iqdb] [saucenao] [google]
1948697

>>1938160
I am trying to write a shift register using C for an 8051, am a brainlet and dont want to use assembly.

I am trying to use a call variable to have a function set a series of output pins if some condition is met.

This is the output i get.

WTF?

void SHFTREG(unsigned int J)
{
unsigned int j; j=J;
{ if(j==0);
{Cbit0 = 0; Cbit1 = 0; Cbit2 = 0; Cbit3 = 0; }
if(j==1);
{Cbit0 = 1; Cbit1 = 0; Cbit2 = 0; Cbit3 = 0; }
if(j==2);
{Cbit0 = 0; Cbit1 = 1; Cbit2 = 0; Cbit3 = 0; }
if(j==3);
{Cbit0 = 1; Cbit1 = 1; Cbit2 = 0; Cbit3 = 0; }
if(j==4);
{Cbit0 = 0; Cbit1 = 0; Cbit2 = 1; Cbit3 = 0; }
if(j==5);
{Cbit0 = 1; Cbit1 = 0; Cbit2 = 1; Cbit3 = 0; }
if(j==6);
{Cbit0 = 0; Cbit1 = 1; Cbit2 = 1; Cbit3 = 0; }
if(j==7);
{Cbit0 = 1; Cbit1 = 1; Cbit2 = 1; Cbit3 = 0; }
if(j==8);
{Cbit0 = 0; Cbit1 = 0; Cbit2 = 0; Cbit3 = 1; }
if(j==9);
{Cbit0 = 1; Cbit1 = 0; Cbit2 = 0; Cbit3 = 1; }
if(j==10);
{Cbit0 = 0; Cbit1 = 1; Cbit2 = 0; Cbit3 = 1; }
if(j==11);
{Cbit0 = 1; Cbit1 = 1; Cbit2 = 0; Cbit3 = 1; }
if(j==12);
{Cbit0 = 0; Cbit1 = 0; Cbit2 = 1; Cbit3 = 1; }
if(j==13);
{Cbit0 = 1; Cbit1 = 0; Cbit2 = 1; Cbit3 = 1; }
if(j==14);
{Cbit0 = 0; Cbit1 = 1; Cbit2 = 1; Cbit3 = 1; }
if(j==15);
{Cbit0 = 1; Cbit1 = 1; Cbit2 = 1; Cbit3 = 1; }
if(j<0 || j>15);
{Cbit0 = 0; Cbit1 = 0; Cbit2 = 0; Cbit3 = 0; };
}}

//————————-
// Main Program
//————————-
void main()
{


SHFTREG(3);

}

Navigation
View posts[+24][+48][+96]