
// Przesłanie 8 bitów zaczynając od MSB
for (i=7 ; i==0 ; i--)
{
// TAK TO WYGLĄDAŁO W BASCOMie a niebardzo mam teraz pomysł jak to przełożyć na C.
// PORTC.4 = Nadajnik_irpd.i
....
}
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięModeratorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
To na poczatek pomysl, dlaczego ta petla sie nie wykona...for (i=7 ; i==0 ; i--)
To jest mały przykład właśnie dla 595:chciałbym co kolejna pętle wpisywać do PORTC.4 kolejna wartość zmiennej (potrzebne do 74hc595) na przykładzie bedzie to lepiej widać:
Kod: Zaznacz cały
#define LEDCLK PC7
#define SET_LEDCLK (PORTC |=_BV(LEDCLK))
#define CLEAR_LEDCLK (PORTC &=~_BV(LEDCLK))
#define TOGGLE_LEDCLK (PORTC ^=_BV(LEDCLK))
#define LEDSTR PA7
#define SET_LEDSTR (PORTA |=_BV(LEDSTR))
#define CLEAR_LEDSTR (PORTA &=~_BV(LEDSTR))
#define TOGGLE_LEDSTR (PORTA ^=_BV(LEDSTR))
#define LEDDAT PA6
#define SET_LEDDAT (PORTA |=_BV(LEDDAT))
#define CLEAR_LEDDAT (PORTA &=~_BV(LEDDAT))
#define TOGGLE_LEDDAT (PORTA ^=_BV(LEDDAT))
void SendByte(char bytval)
{
int i;
for (i=0;i<8;i++)
{
if(bytval & 0x80) SET_LEDDAT; else CLEAR_LEDDAT;
_delay_us(1);
SET_LEDCLK;
_delay_us(1);
CLEAR_LEDCLK;
_delay_us(1);
bytval <<= 1;
}
SET_LEDSTR;
_delay_us(1);
CLEAR_LEDSTR;
_delay_us(1);
}
No dokladnie to byla nieprzemyslana petla o 1:45To na poczatek pomysl, dlaczego ta petla sie nie wykona...
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości