Socho ek doorbell wire tumhare brain tak jaati hai. Agar tum wire se electricity push karo bahar, yeh output hai — tum ek light ko on hone ke liye bol rahe ho. Agar tum bas feel karo ki wire hot hai ya cold, yeh input hai — tum ek button ke liye sun rahe ho. Lekin kuch connected nahi hone wali wire hawa mein jhule ki tarah hai: randomly hilti rehti hai. To tum ise ek soft rubber band se baandhte ho — chhat se (pull-up = normally "on") ya floor se (pull-down = normally "off") — taaki woh still rahe jab tak koi real push na kare. Ek interrupt tumhare shoulder par ek tap hai: "kya koi aa gaya?" hazaar baar per second poochne ki jagah, wire tumhe usi pal tap karti hai jab change hota hai, taaki baaki kaam kar sako. Ek catch: ek real button press hone par kaanpta hai (bounces), to pehle tap ke baad thodi der ke liye taps ignore karo.
GPIO ka full form kya hai aur "general purpose" kyun?
General Purpose Input/Output; pin kisi fixed peripheral ke liye reserved nahi hai, software uska direction/behaviour set karta hai.
Ek floating input pin random reads kyun deta hai?
Yeh tiny capacitance ke saath high-impedance hai, to ambient noise pick up karta hai; kuch uska voltage define nahi karta.
Pull-up vs pull-down: dono ke default read level kya hain?
Pull-up → idle HIGH (1); pull-down → idle LOW (0).
Pull resistor "weak" (large) kyun hona chahiye?
Taaki koi bhi real driver (low resistance) voltage divider ke zariye ise aasaani se override kar sake, ek clean signal deta hai.
Pull-up se current waste hone ka formula jab input grounded ho?
I=VDD/R.
Classic button "active-LOW" kyun hai?
Pull-up idle HIGH rakhta hai; press karne par pin GND se connect hoti hai → LOW read karta hai, to pressed = 0.
Push-pull vs open-drain output?
Push-pull HIGH aur LOW dono drive kar sakta hai; open-drain sirf LOW pull karta hai ya Hi-Z hota hai aur external pull-up chahiye.
Edge vs level interrupt trigger — button ke liye kaunsa aur kyun?
Edge (active-LOW ke liye falling): ek ISR per press; level-trigger continuously re-fire karta jab tak button hold karo.
ISR-shared flag volatile kyun hona chahiye?
Memory se har baar dobara read force karta hai; warna compiler ise register mein cache kar sakta hai aur kabhi ISR ka update nahi dekhta.
ISRs short kyun rakhein?
Doosre interrupts block ho sakte hain; lambi ISRs missed events aur timing jitter cause karti hain — bas ek flag set karo aur main loop mein handle karo.
Switch bounce kya hai aur fix kaise karein?
Mechanical contacts ~1–10 ms tak edges ka burst produce karte hain; fix: debouncing (pehle edge ke baad ~20 ms tak agle edges ignore karo) ya RC filtering.
3.3 V par 33 kΩ pull-up press hone par kitna current waste karta hai?