Arduino UNO- zelenáč se zelená
Moderátor: Moderátoři
Dneska jsem zkusil světelný řetízek s potenciometrem regulovatelnou rychlostí...
int del=A0;
const int de=A0;
byte a=2;
int b=3;
int c=4;
int d=5;
int e=6;
int f=7;
int g=8;
int h=9;
int i=10;
int j=11;
int k=12;
int l=13;
void setup()
{
pinMode(a, OUTPUT);
pinMode (b, OUTPUT);
pinMode(c, OUTPUT);
pinMode (d, OUTPUT);
pinMode(e, OUTPUT);
pinMode (f, OUTPUT);
pinMode(g, OUTPUT);
pinMode (h, OUTPUT);
pinMode(i, OUTPUT);
pinMode (j, OUTPUT);
pinMode(k, OUTPUT);
pinMode (l, OUTPUT);
del=0;
Serial.begin(9600);
}
void loop()
{
del=analogRead (de);
del=del/4;
Serial.print("prodleva = " );
Serial.print(del);
Serial.println();
//delay(1000);
digitalWrite(a, HIGH);
delay (del);
digitalWrite(a, LOW);
digitalWrite (b, HIGH);
delay (del);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
delay (del);
del=analogRead (de);
del=del/4;
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
delay (del);
digitalWrite (d, LOW);
digitalWrite (e, HIGH);
delay (del);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
delay (del);
del=analogRead (de);
del=del/4;
digitalWrite (f, LOW);
digitalWrite (g, HIGH);
delay (del);
digitalWrite (g, LOW);
digitalWrite (h, HIGH);
delay (del);
del=analogRead (de);
del=del/4;
digitalWrite (h, LOW);
digitalWrite (i, HIGH);
delay (del);
digitalWrite (i, LOW);
digitalWrite (j, HIGH);
delay (del);
del=analogRead (de);
del=del/4;
digitalWrite (j, LOW);
digitalWrite (k, HIGH);
delay (del);
digitalWrite (k, LOW);
digitalWrite (l, HIGH);
delay (del);
digitalWrite (l, LOW);
}
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
mtajovsky píše:Kód: Vybrat vše
#define PI 3.14 // OK
int muj_index; // OK
float getValue(void); // tohle je taky OK
char* Hnusny_Nazev_Pro_Retezec; // tohle není OK
char pekny_nazev_pro_retezec[20]; // tohle už je lepší
Já jsem zvyklý na Pekny_nazev_pro_retezec, nějak ze zvyku dávám první písmeno velký, v asm to nevadí. Nakonec moje programy většinou nejsou veřejný, tak je to čistě moje věc.
Jenže pak přijde někdo, kdo chce PeknyNazevProRetezec a já jsem v háji, pořád se mně tam pletou ty podtržítka...
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Kód: Vybrat vše
getFirstItemKód: Vybrat vše
GetfirstitemP.S.: existuje jistě mnoho pravidel pro psaní názvů proměnných tak, aby samotný název co nejvíce řekl o co jde. U nás ve firmě, například, dáváme za každý název fyzikální veličiny důsledně suffix, který říká jednotku. Například:
Kód: Vybrat vše
distance_m
velocity_kmph- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Asi dost dělají závorky, v asm se nepoužívají vůbec, takže to i jinak vypadá.
Kód: Vybrat vše
mov a,P_cyklu
cjne a,#Wt_start,Sm_star2
Sm_star2:
jnc Sm_star3 ;--> prechod do dalsiho MODE
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Teda kromě lokálních i,j to zůstalo jako památka na Fortran
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Znám vyšší programovací jazyky a třeba oblíbený cyklus typu "for i", ale když mně někdo řekne, že zná 8051, dělal na něm hromadu let a přitom požaduje lokální proměnnou, tak si bohužel myslím svoje...
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Ony závorky v C jsou velmi podstatným prvkem, který není kvůli čitelnosti, ale jsou integrální součástí syntaxe. Nejen, že mění prioritu operací - to je obvyklé, také určují, co je všechno argumentem funkce, a také někdy říkají, co je daný indetifikátor zač. Jestliže máme funkci s deklaracíZdenekHQ píše: ...Asi dost dělají závorky, v asm se nepoužívají vůbec ...
void f(void);
tak zápisem f() se ta funkce vyvolá, kdežto samotné f znamená pointer na tu funkci, čili adresu, na které ta funkce začíná. Tento pointer je regulérním pointerem, který lze předat například argumentem jako call-back funkci do jiné funkce.
Rovněž tak:
int *f(char c); je deklarace funkce odevzdávající pointer na int, ale:
typedef int (*F)(char c); je definice nového typu - a sice typu "pointer na funkci, která bere jako argument char a vrací int. Pak:
F f; je alokace pointeru datového typu F v paměti pod názvem f.
A to nemluvím o závorkách deklarovaných jako operátor pro třídu, čímž dostáváme funkční objekt (více nějaká učebnice C++
Proto úsměvy nad C++ jako jazykem, který to se závorkami nadbytečně přehání, opravdu nejsou na místě.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
ZdenekHQ píše:Asi dost dělají závorky, v asm se nepoužívají vůbec
Jak to, že se nepoužívají vůbec? Znáš vůbec něco jiného než 8051?
AVR:
Kód: Vybrat vše
ldi R16,(1<<CLKPS2)|(1<<CLKPS1)Z80:
Kód: Vybrat vše
and A,#~((mask >> 7) + (mask << 1))x86:
Kód: Vybrat vše
mov AX,((XRAMSA * 64) AND 0FE00h) + RAMWS
mov DL,low(KEYB + 4)
mov EDX,[TempWins + ECX * 4]ARM:
Kód: Vybrat vše
push {R0 - R3}
ldr R0,=(1<<20)|(1<<19)|(1<<16)|(1<<7)|(1<<8)
str R0,[R2,#(AIC_SMR + (ID_SYS<<2))]