PIC MPLAB C30 Fråga - Binär omvandling
Postat: 24 februari 2010, 07:40:05
Hej
Jag har kört fast och googlandet har inte gett något konkret.
Jag har precis börjat överge Basic för att börja med C.
Jag har ett tal, som just nu är en byte men kan behöva bli en Integer och skulle behöva omvandla detta till bitar för att kunna skicka olika långa pulser beroende på om biten är 1 eller 0
Så har jag tex 4 (00000100)
så vill jag anropa:
Jag skulle behöva kunna variera antalet "ut bitar" som i fallet ovan 8bitar, ibland kan det vara ett lägre tal tex 4bitar
Det borde väl finnas något fint kommando så man skulle kunna använda tex:
Man kan ju kanske skriva en funktion själv som drar av -16 och kollar om den är positiv -8 kollar om den är positiv -4 osv, men det känns inte som enklaste vägen.
Eller om man kan göra denna omvandling på ett annat smartare sätt.
Jag har kört fast och googlandet har inte gett något konkret.
Jag har precis börjat överge Basic för att börja med C.
Jag har ett tal, som just nu är en byte men kan behöva bli en Integer och skulle behöva omvandla detta till bitar för att kunna skicka olika långa pulser beroende på om biten är 1 eller 0
Så har jag tex 4 (00000100)
så vill jag anropa:
Kod: Markera allt
funcLow(); //0 128
funcLow(); //0 64
funcLow(); //0 32
funcLow(); //0 16
funcLow(); //0 8
funcHigh(); //1 4
funcLow(); //0 2
funcLow(); //0 1
Det borde väl finnas något fint kommando så man skulle kunna använda tex:
Kod: Markera allt
BYTE bValue;
if (bValue.bit8==1)
funcHigh();
else
funcLow();
if (bValue.bit7==1)
funcHigh();
else
funcLow();
if (bValue.bit6==1)
funcHigh();
else
funcLow();
osv....
Eller om man kan göra denna omvandling på ett annat smartare sätt.