מערכות משובצות מחשב

✦ בנוי על ידי פהד גאנם ✦

DDRD  ·  PORTD  ·  PIND   |   pinMode(pin, OUTPUT) ⟹ DDRD |= (1<<pin)   |   digitalWrite(pin, HIGH) ⟹ PORTD |= (1<<pin)   |   digitalRead(pin) ⟹ (PIND >> pin) & 1   |   R = Vcc − VfI
500 ms
DDRD
PORTD
PIND

VR = 5 − 2 = 3 V
R = 30.020 = 150 Ω
20 mA = Irec < 40 mA = Iabs max
n = 20020 = 10
I = 3220 = 13.6 mA  →  n = 20013.6 = 14

n = Vin · 1024Vref   |   Vin = n · Vref1024   |   Δ = Vref1024   |   D = value255   |   Vavg = Vcc · D   |   ton = D · T
50 %
128

Δ = 51024 = 4.88 mV
Δt = 4.8810 = 0.49 °C
Vin = 25 · 10 = 250 mV  →  n = 0.250 · 10245 = 51.2 → 51
Δ = 1.11024 = 1.07 mV  |  Δt = 0.11 °C  |  n = 0.250 · 10241.1 = 232
tmax = 1.10.010 = 110 °C

attachInterrupt( digitalPinToInterrupt(2), isr, RISING )   |   volatile   |   if( millis() − t0 >= interval )   |   fpoll = 1tloop   |   phit = twTpulse   |   tdigit = TN
5.0 Hz
30 ms
100 ms
400 ms
3.0 s
100 Hz

T = 130 = 33.3 ms
fpoll = 10.100 = 10 /s
p = 533.3 = 0.15
10 · 0.15 = 1.5   ( 30 )
30 / 30  |  tresp ≤ tloop   vs   tresp ≈ tisr entry

tbit = 1baud   |   Nbits = 1 + 8 + p + 1   |   tframe = Nbits · tbit   |   chars/s = baudNbits   |   tmsg = L · tframe
9600 baud
A · 65

tbit = 19600 = 104.17 µs
N = 1 + 8 + 1 = 10  →  tframe = 10 · 104.17 = 1.0417 ms
chars/s = 960010 = 960
L = 7 + 2 = 9  →  t = 9 · 1.0417 = 9.375 ms
1152009600 = 12  →  t = 9.37512 = 0.781 ms
🏠