Regnearter

Fra HTX Arduino
Spring til navigation Spring til søgning

Regnearter i Arduino C

Regnearter i JAL

For at regne enkle regnestykker med sproget JAL bruger man de for-definerede operatorer: + - / * % ! & | ^ < < == != < = og =. Med dem kan man det meste fra at addere og subtrahere til at rode med de enkelte bits i en byte og sammenligne størrelse. En komplet liste over operatornes funktion ses nedenfor.

Operator Prioritet Betydning Venstre argument Højre argument Resultat Eksempel
! 5 Enkelt not (inverter) bit bit pin_a0 = ! pin_ao
! 5 Enkelt not (inverter) byte byte inv_cs = ! cs
+ 5 Enkelt plus (fortegn) byte byte val = +33
- 5 Enkelt minus (fortegn) sbyte sbyte val = -33
* 4 multiplikation byte byte byte val = val * 10
/ 4 division byte byte byte val = val / 10
% 4 modulus byte byte byte val = val % 10 (giver resten ved en division)
+ 3 plus byte byte byte val = val + 10
- 3 minus byte byte byte val = val - 10
<< 2 skift til venstre byte byte byte val = val << 3 (skifter bit-mønsteret 3 pladser til venstre)
>> 2 skift til højre byte byte byte val = val >> 2 (skifter bit-mønsteret 2 pladser til højre)
> 2 større end byte byte bit if val > 10 then
< 2 mindre end byte byte bit if val < 10 then
>= 2 større end eller lig med byte byte bit if val >= 10 then
<= 2 mindre end eller lig med byte byte bit if val <= 10 then
== 2 er lig med byte byte bit if val == 10 then
!= 2 er ikke lig med byte byte bit if val != 10 then
& 1 and bit bit bit if (val > 2) & (val < 10) then
& 1 and byte byte byte val = val & 0b1111_0000 (Masker de 4 høje bit, og sætter de 4 lave bit til 0)
| 1 or bit bit bit if (val == 10) | (val == 20) then
| 1 or byte byte byte val = val | 0b0000_0011 (sætter de to lave bit til høj, resten uændret)
^ 1 xor bit bit bit pin_a0 = pin_a1 ^ pin_a2 (får to input til at give XOR funktion på et tredje)
^ 1 xor byte byte byte val = val ^ 0b0000_1111 (inverterer de 4 lave bit og lader de 4 høje stå uændret)

Hvilke begrænsninger er der når man skal regne noget i JAL?

Som nævnt før arbejder man kun med heltal når man bruger variabler af typen byte. Det giver derfor nogle begrænsninger for hvilke regnestykker man kan lave. Dividerer man fx 6 med 4 får man som bekendt 1,5, men i JAL vil facit i stedet blive rundet ned til 1. Man skal derfor være opmærksom på, hvilke værdier man regner med.

Programmering
Programmeringsbegreber Initialisering - Sekvens - Algoritme - Hexadecimal - Det Binære Talsystem - HEX-fil - ASCII - Interrupt - Events - Styresystem - Autocomplete - Selvstudie Programmering - Hour Of Code - Stepwise Improvement - Syntaks - Prog-links - Microcontroller - ChatGPT
Grundlæggende C C float - C double - C-løkker - Datatyper - Konstanter - Regnearter - Funktioner - Return - Returværdi - Rekursion - Semikolon
Variabel Typer boolean - byte - int - unsigned int - word - long - unsigned long - short - float - double - char - unsigned char - string - char array - String - object - Array - 2-dimensionelt Array - void
Program-klassikere Polling - State-machine - Trykknap - Forkant - Bagkant - Prel
Arduino Arduino til Programmering - C til Arduino - Programmering Shield - Arduino PC-software - Arduino Udviklingsmiljø - Arduino Pin Library - Funktion - Arduino Seriel - Arduino String - Arduino String Split - Arduino StateChangeDetection - setup() - loop() - Compilerdirektiver - Asynkron kommunikation - millis() - micros() - Scratch for Arduino - Send fra Arduino til Excel - [[]] - [[]]
Processing Grafik i Processing‎ - Keyboard i Processing - Mus i Processing‎ - Tid i Processing‎ - Draw() - Setup() - Tal Input til Processing - Syntaksfarvning - Kommunikation fra Arduino til Processing - Kommunikation fra Processing til Arduino
javaScript Javascript input‎ - Javascript output‎ - Javascript strukturer‎ - Javascript syntaks‎ - Tid i javaScript - Objekt‎ - AJAX
Serverprogrammering PHP - MySQL - Task Scheduler - WeMOS
PIC JAL - [[]]
Scratch for Arduino S4A Installation - S4A programmering - S4A undervisningsforløb - S4A begrænsninger
Program Dokumentation Algoritme - Flowchart - Pseudokode - Datastruktur - Dataabstraktion - Pulsplaner - Program-kommentar - Teori - Test - UML