User Manual

128
změnit zvy adreřů v souboru makefile! Jinak se kompilátoru nepodaří najít
tyto soubory!
o Zapomněli jste někde v programu středník?
o Chybí v programu něco důležitého nebo je nadbyteč?
o Dodržovali jste správnou syntaxi jazyka C? Kromě komenřů a obvyklých
formátovacích pravidel pro mezery a tabulátory, psaní různých variant symbolů je
pro kompilátor jazyka C e ostatní relevantní. Pokud tAto příručKa obsahuje
chybY, nemusí čtenář správně pochopit význam textu! Kompilátory nepovolují
žádné chyby a mohou generovat obrovské množství chyb při vzniku malá
chybičky. Bohužel kompilátor nemá automatickou opravu chyb, srovnatelnou s
mi lidmi ...
14. Moje programy stále nefungua robot neposlouchá moje povely - co je špatně?
Nemám ponětí! ;-) Při požadavku na podporu musíte být konkrétnější v popisu svých
problémů. Často dostáváme dotazy typu "Proč tento program nefunguje?". Co s tím.
Samozřejmě potřebujeme trochu podrobnější popis toho, co program má dělat a co na
něm nefunguje! V opačm případě se rychle ukáže, že se otázka změnila na kvíz ...
Obvyklé chyby začátečníků jsou:
o Přiní středníku na špatné místo např. uzavření smyčky nebo razu if. Často
umožníte vložení symbolu středník tam, kde nebude fungovat tak, jak jste si
představovali!
o Vytření konstrukce if/else s vyhodnocením na nesprávných místech to se
může snadno stát, pokud je špat struktura odsazování zdrojového textu.
o Použinesprávného datového typu pro proměnné např. dato typ uint8_t může
akceptovat hodnoty v rozsahu od 0 do 255, ale nelze jej použít pro počítání až do
hodnoty 1500! Pro počítání tak vysoko budete muset použít dato typ uint16_t!
Dato typ uint8_t také nebude akceptovat zápor hodnoty. Pro práci se
zápornými hodnotami budete potřebovat znaménko dato typ např. int8_t!
Zkontrolujte přehled ech datových typů na začátku krátkého intenzivního kurzu
jazyka C!
o Zapomenu na nekonečnou smyčku na konci programu pokud tato nekoneč
smyčka chybí, může váš program vytřet podivné sledky.
o Používáte neblokovaný režim pro funkce "přesun" nebo "očení", ale zřídka
voláte funkci "task_motionControl" nebo "task_RP6System"! Mož váš program
obsahuje dlouhé přestávky generované funkcí mSleep. Při použi neblokovaného
režimu funkcí "přesun" a "očení" nebo ACS musíte pro echna zpoždění delší
než přibližně 10 milisekund použít stopky! Funkce mSleep a další blokující funkce
by neměla být používána v kombinaci s neblokujícími funkcemi! Přečtěte si,
prosím, znovu kapitolu o knihovně RP6Library pro upřesnění podrobnosti a
prostudujte ukázkové programy!
o Před novou kompilací dy pamatujte na uložení změněných zdrojových textů
programu! V opačm případě bude kompilátor překládat předchozí nezměně
verze uložené na vašem pevm disku! V případě pochybnos můžete provést
příkaz MAKE CLEAN a znovu provést kompilaci projektu!