Re: Heidenhain TE-355-A => Arduino => EasyCAT => LinuxCNC
Napsal: 17. 6. 2020, 8:16
Začal jsem se začal prohrabávat zdrojákem pro EasyCAT a poprosil bych zkušené o vysvětlení základů. Sám si v Arduinu napíšu cokoliv, ale cizí zdrojáky jsou pro mě průšvih.
Co znamená "while(1) "? Umím používat "while" ve stylu dělej něco dokud. Ovšem jednička bude vždy jedničkou, takže by se to mělo tady zacyklit?
Když se podívám do návodu, tak taky takový zápis není předpokládán:
https://www.arduino.cc/reference/en/lan ... ure/while/
Jak je tady použit příkaz "if" ? Umím používat "if" ve stylu pokud je splněna podmínka něco udělej. Ovšem já tady žádnou podmínku nevidím.
V návodu opět takový stav nepředpokládají.
https://www.arduino.cc/reference/en/lan ... ucture/if/
Asi bych to rozchodil i bez vysvětlení. Vymažu co se týká "--- test sawtooth generation --- " dva anologové vstupy jsou nachystány a klasické I/O bych snad nějak rozšířil. Pak už je to jen logika. Ovšem rád bych znal i podstatu věci.
Začnem hned na začátku:
Kód: Vybrat vše
pinMode(13, OUTPUT); // stay in loop for ever
// with the Arduino led blinking
while(1) //
{ //
digitalWrite (13, LOW); //
delay(500); //
digitalWrite (13, HIGH); //
delay(500); //
} //
Když se podívám do návodu, tak taky takový zápis není předpokládán:
https://www.arduino.cc/reference/en/lan ... ure/while/
Kód: Vybrat vše
if (EASYCAT.BufferOut.Byte[0] & (1<<0)) // the four output bits are mapped to the
digitalWrite (BitOut0, HIGH); // lower nibble of output Byte 0
else //
digitalWrite (BitOut0, LOW); // we read each bit and write it
// to the corrisponding pin
if (EASYCAT.BufferOut.Byte[0] & (1<<1)) //
digitalWrite (BitOut1, HIGH); //
else //
digitalWrite (BitOut1, LOW); //
//
if (EASYCAT.BufferOut.Byte[0] & (1<<2)) //
digitalWrite (BitOut2, HIGH); //
else //
digitalWrite (BitOut2, LOW); //
//
if (EASYCAT.BufferOut.Byte[0] & (1<<3)) //
digitalWrite (BitOut3, HIGH); //
else //
digitalWrite (BitOut3, LOW); //
Jak je tady použit příkaz "if" ? Umím používat "if" ve stylu pokud je splněna podmínka něco udělej. Ovšem já tady žádnou podmínku nevidím.
V návodu opět takový stav nepředpokládají.
https://www.arduino.cc/reference/en/lan ... ucture/if/
Asi bych to rozchodil i bez vysvětlení. Vymažu co se týká "--- test sawtooth generation --- " dva anologové vstupy jsou nachystány a klasické I/O bych snad nějak rozšířil. Pak už je to jen logika. Ovšem rád bych znal i podstatu věci.