ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳು ನಿಮ್ಮ ಹವ್ಯಾಸವಾಗಿದ್ದರೆ ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಹೇಗೆ ಮತ್ತು ಏಕೆ ಓದಬೇಕು

ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳು ನಿಮ್ಮ ಹವ್ಯಾಸವಾಗಿದ್ದರೆ ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಹೇಗೆ ಮತ್ತು ಏಕೆ ಓದಬೇಕು

ಮೈಕ್ರೋಎಲೆಕ್ಟ್ರಾನಿಕ್ಸ್ ಇತ್ತೀಚಿನ ವರ್ಷಗಳಲ್ಲಿ ಮಾಂತ್ರಿಕ ಆರ್ಡುನೊಗೆ ಧನ್ಯವಾದಗಳು ಫ್ಯಾಶನ್ ಹವ್ಯಾಸವಾಗಿದೆ. ಆದರೆ ಇಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ: ಸಾಕಷ್ಟು ಆಸಕ್ತಿಯೊಂದಿಗೆ, ನೀವು ತ್ವರಿತವಾಗಿ ಡಿಜಿಟಲ್ ರೈಟ್ () ಅನ್ನು ಮೀರಿಸಬಹುದು, ಆದರೆ ಮುಂದೆ ಏನು ಮಾಡಬೇಕೆಂದು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ. ಆರ್ಡುನೊ ಡೆವಲಪರ್‌ಗಳು ತಮ್ಮ ಪರಿಸರ ವ್ಯವಸ್ಥೆಗೆ ಪ್ರವೇಶಿಸಲು ತಡೆಗೋಡೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಾಕಷ್ಟು ಪ್ರಯತ್ನಗಳನ್ನು ಮಾಡಿದ್ದಾರೆ, ಆದರೆ ಅದರ ಹೊರಗೆ ಹವ್ಯಾಸಿಗಳಿಗೆ ಪ್ರವೇಶಿಸಲಾಗದ ಕಠಿಣ ಸರ್ಕ್ಯೂಟ್ರಿಯ ಕತ್ತಲೆಯ ಅರಣ್ಯವಿದೆ.

ಉದಾಹರಣೆಗೆ, ಡೇಟಾಶೀಟ್‌ಗಳು. ಅವರ ಬಳಿ ಎಲ್ಲವೂ ಇದೆ ಎಂದು ತೋರುತ್ತದೆ, ಅದನ್ನು ತೆಗೆದುಕೊಂಡು ಅದನ್ನು ಬಳಸಿ. ಆದರೆ ಅವರ ಲೇಖಕರು ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳನ್ನು ಜನಪ್ರಿಯಗೊಳಿಸುವ ಕಾರ್ಯವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸುವುದಿಲ್ಲ; ಕೆಲವೊಮ್ಮೆ ಇದು ತೋರುತ್ತದೆಸರಳವಾದ ವಿಷಯಗಳನ್ನು ವಿವರಿಸುವಾಗ ಅವರು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಅಗ್ರಾಹ್ಯ ಪದಗಳು ಮತ್ತು ಸಂಕ್ಷೇಪಣಗಳನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳುತ್ತಾರೆ ಮತ್ತು ತಿಳಿಯದವರನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಗೊಂದಲಗೊಳಿಸುತ್ತಾರೆ. ಆದರೆ ಎಲ್ಲವೂ ಅಷ್ಟು ಕೆಟ್ಟದ್ದಲ್ಲ; ಬಯಸಿದಲ್ಲಿ, ಕ್ಯಾಸ್ಕೆಟ್ ತೆರೆಯುತ್ತದೆ.

ಈ ಲೇಖನದಲ್ಲಿ ನಾನು ಹವ್ಯಾಸ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಡೇಟಾಶೀಟ್‌ಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಮಾನವಿಕ ತಜ್ಞರ ಅನುಭವವನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ. ಪಠ್ಯವು ಆರ್ಡುನೊ ಪ್ಯಾಂಟ್‌ನಿಂದ ಬೆಳೆದ ಹವ್ಯಾಸಿಗಳಿಗೆ ಉದ್ದೇಶಿಸಲಾಗಿದೆ; ಇದು ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳ ಕಾರ್ಯಾಚರಣೆಯ ತತ್ವಗಳ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ತಿಳುವಳಿಕೆಯನ್ನು ನೀಡುತ್ತದೆ.

ನಾನು ಸಾಂಪ್ರದಾಯಿಕವಾಗಿ ಪ್ರಾರಂಭಿಸುತ್ತೇನೆ

ಆರ್ಡುನೊದಲ್ಲಿ ಎಲ್ಇಡಿ ಮಿನುಗುತ್ತಿದೆ

ಮತ್ತು ತಕ್ಷಣ ಕೋಡ್:

void setup() {
DDRB |= (1<<5);
}

void loop() {
PINB = (1<<5);
for (volatile uint32_t k=0; k<100000; k++);
}

"ಇದು ಏನು? - ಅತ್ಯಾಧುನಿಕ ಓದುಗ ಕೇಳುತ್ತಾನೆ. – ನೀವು PINB ಇನ್‌ಪುಟ್ ರಿಜಿಸ್ಟರ್‌ಗೆ ಏನನ್ನಾದರೂ ಏಕೆ ಬರೆಯುತ್ತಿದ್ದೀರಿ? ಇದು ಓದಲು ಮಾತ್ರ! ” ನಿಜವಾಗಿಯೂ, Arduino ದಸ್ತಾವೇಜನ್ನು, ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿನ ಹೆಚ್ಚಿನ ಶೈಕ್ಷಣಿಕ ಲೇಖನಗಳಂತೆ, ಈ ರಿಜಿಸ್ಟರ್ ಓದಲು-ಮಾತ್ರ ಎಂದು ಹೇಳುತ್ತದೆ. ನಾನು ಅದನ್ನು ಮತ್ತೆ ಓದುವವರೆಗೂ ನಾನೇ ಯೋಚಿಸಿದೆ ಮಾಹಿತಿಯ ಕಾಗದ Atmega328p ಗೆ, ಈ ಲೇಖನವನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ. ಮತ್ತು ಅಲ್ಲಿ:

ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳು ನಿಮ್ಮ ಹವ್ಯಾಸವಾಗಿದ್ದರೆ ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಹೇಗೆ ಮತ್ತು ಏಕೆ ಓದಬೇಕು

ಇದು ತುಲನಾತ್ಮಕವಾಗಿ ಹೊಸ ಕ್ರಿಯಾತ್ಮಕತೆಯಾಗಿದೆ, ಇದು Atmega8 ನಲ್ಲಿ ಇರಲಿಲ್ಲ, ಎಲ್ಲರಿಗೂ ಅದರ ಬಗ್ಗೆ ತಿಳಿದಿಲ್ಲ ಅಥವಾ ಹಿಂದುಳಿದ ಹೊಂದಾಣಿಕೆಯ ಕಾರಣಗಳಿಗಾಗಿ ಉಲ್ಲೇಖಿಸಲಾಗಿಲ್ಲ. ಆದರೆ ಕಡಿಮೆ-ತಿಳಿದಿರುವವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಚಿಪ್‌ನ ಎಲ್ಲಾ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬಳಸಲು ಡೇಟಾಶೀಟ್‌ಗಳು ಓದಲು ಯೋಗ್ಯವಾಗಿದೆ ಎಂಬ ಕಲ್ಪನೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ಇದು ಸಾಕಷ್ಟು ಸೂಕ್ತವಾಗಿದೆ. ಮತ್ತು ಇದು ಒಂದೇ ಕಾರಣವಲ್ಲ.

ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಬೇರೆ ಏಕೆ ಓದಬೇಕು?

ಸಾಮಾನ್ಯವಾಗಿ, ಆರ್ಡುನೊ ಎಂಜಿನಿಯರ್‌ಗಳು, ಎಲ್‌ಇಡಿಗಳು ಮತ್ತು ಅನಲಾಗ್‌ರೈಟ್‌ಗಳೊಂದಿಗೆ ಸಾಕಷ್ಟು ಆಡಿದ ನಂತರ, ಎಲ್ಲಾ ರೀತಿಯ ಮಾಡ್ಯೂಲ್‌ಗಳು ಮತ್ತು ಚಿಪ್‌ಗಳನ್ನು ಬೋರ್ಡ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತಾರೆ, ಇದಕ್ಕಾಗಿ ಈಗಾಗಲೇ ಲಿಖಿತ ಲೈಬ್ರರಿಗಳಿವೆ. ಶೀಘ್ರದಲ್ಲೇ ಅಥವಾ ನಂತರ, ಲೈಬ್ರರಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ನಂತರ ಹವ್ಯಾಸಿ ಅದನ್ನು ಸರಿಪಡಿಸಲು ಅದನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸುತ್ತಾನೆ, ಮತ್ತು ನಂತರ ...

ಮತ್ತು ಅಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಗ್ರಹಿಸಲಾಗದ ಏನಾದರೂ ಸಂಭವಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು Google ಗೆ ಹೋಗಬೇಕು, ಹಲವಾರು ಟ್ಯುಟೋರಿಯಲ್‌ಗಳನ್ನು ಓದಬೇಕು, ಯಾರೊಬ್ಬರ ಸೂಕ್ತವಾದ ಕೋಡ್‌ನ ಭಾಗಗಳನ್ನು ಹೊರತೆಗೆಯಬೇಕು ಮತ್ತು ಅಂತಿಮವಾಗಿ ನಿಮ್ಮ ಗುರಿಯನ್ನು ಸಾಧಿಸಬೇಕು. ಇದು ಶಕ್ತಿಯುತವಾದ ಸಾಧನೆಯ ಅರ್ಥವನ್ನು ನೀಡುತ್ತದೆ, ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ ಈ ಪ್ರಕ್ರಿಯೆಯು ಮೋಟಾರ್ಸೈಕಲ್ ಅನ್ನು ರಿವರ್ಸ್ ಎಂಜಿನಿಯರಿಂಗ್ ಮಾಡುವ ಮೂಲಕ ಚಕ್ರವನ್ನು ಮರುಶೋಧಿಸುವಂತಿದೆ. ಇದಲ್ಲದೆ, ಈ ಬೈಕು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬ ತಿಳುವಳಿಕೆಯು ಹೆಚ್ಚಾಗುವುದಿಲ್ಲ. ನನಗೆ ತಿಳಿದಿದೆ, ಏಕೆಂದರೆ ನಾನು ಇದನ್ನು ಬಹಳ ಸಮಯದಿಂದ ಮಾಡಿದ್ದೇನೆ.

ಈ ರೋಮಾಂಚಕಾರಿ ಚಟುವಟಿಕೆಯ ಬದಲಿಗೆ ನಾನು Atmega328 ದಸ್ತಾವೇಜನ್ನು ಅಧ್ಯಯನ ಮಾಡಲು ಒಂದೆರಡು ದಿನಗಳನ್ನು ಕಳೆದಿದ್ದರೆ, ನಾನು ದೊಡ್ಡ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತಿದ್ದೆ. ಎಲ್ಲಾ ನಂತರ, ಇದು ಸಾಕಷ್ಟು ಸರಳ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಆಗಿದೆ.

ಹೀಗಾಗಿ, ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಸಾಮಾನ್ಯವಾಗಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಅದು ಏನು ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಊಹಿಸಲು ನೀವು ಕನಿಷ್ಟ ಡೇಟಾಶೀಟ್ಗಳನ್ನು ಓದಬೇಕು. ಮತ್ತು ಮತ್ತಷ್ಟು:

  • ಇತರ ಜನರ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು. ಚಕ್ರವನ್ನು ಮರುಶೋಧಿಸುವ ಅದೇ ಹವ್ಯಾಸಿಗಳಿಂದ ಅವುಗಳನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ; ಅಥವಾ, ಇದಕ್ಕೆ ವ್ಯತಿರಿಕ್ತವಾಗಿ, ಲೇಖಕರು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಅವರನ್ನು ವಿಪರೀತವಾಗಿ ಫೂಲ್ಫ್ರೂಫ್ ಮಾಡುತ್ತಾರೆ. ಇದು ಮೂರು ಪಟ್ಟು ದೊಡ್ಡದಾಗಿದೆ ಮತ್ತು ನಿಧಾನವಾಗಿರಲಿ, ಆದರೆ ಅದು ಖಂಡಿತವಾಗಿಯೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ;

  • ಯಾರೂ ಗ್ರಂಥಾಲಯವನ್ನು ಬರೆದಿರದ ಯೋಜನೆಯಲ್ಲಿ ಚಿಪ್‌ಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ;

  • ಒಂದು ಎಂಕೆ ಲೈನ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ವಲಸೆ ಹೋಗುವುದನ್ನು ಸುಲಭಗೊಳಿಸಲು;

  • ಆರ್ಡುನೊಗೆ ಹೊಂದಿಕೆಯಾಗದ ನಿಮ್ಮ ಹಳೆಯ ಕೋಡ್ ಅನ್ನು ಅಂತಿಮವಾಗಿ ಅತ್ಯುತ್ತಮವಾಗಿಸಲು;

  • ಯಾವುದೇ ಚಿಪ್ ಅನ್ನು ಅದರ ರೆಜಿಸ್ಟರ್‌ಗಳ ಮೂಲಕ ನೇರವಾಗಿ ನಿಯಂತ್ರಿಸುವುದು ಹೇಗೆ ಎಂದು ತಿಳಿಯಲು, ಅದರ ಲೈಬ್ರರಿಗಳ ರಚನೆಯನ್ನು ಅಧ್ಯಯನ ಮಾಡದೆಯೇ, ಯಾವುದಾದರೂ ಇದ್ದರೆ.

HAL ಮತ್ತು LL ಇದ್ದಾಗ ನೇರವಾಗಿ ರಿಜಿಸ್ಟರ್‌ಗಳಿಗೆ ಏಕೆ ಬರೆಯಬೇಕು?

ನಿಘಂಟು
HAL, ಹೈ ಅಬ್ಸ್ಟ್ರಕ್ಷನ್ ಲೇಯರ್ - ಉನ್ನತ ಮಟ್ಟದ ಅಮೂರ್ತತೆಯೊಂದಿಗೆ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಅನ್ನು ನಿಯಂತ್ರಿಸುವ ಗ್ರಂಥಾಲಯ. ನೀವು SPI1 ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಳಸಬೇಕಾದರೆ, ಯಾವ ರೆಜಿಸ್ಟರ್‌ಗಳು ಯಾವುದಕ್ಕೆ ಜವಾಬ್ದಾರರಾಗಿರುತ್ತಾರೆ ಎಂಬುದರ ಕುರಿತು ಯೋಚಿಸದೆ ನೀವು SPI1 ಅನ್ನು ಸರಳವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ ಮತ್ತು ಸಕ್ರಿಯಗೊಳಿಸಿ.
LL, ಕಡಿಮೆ ಮಟ್ಟದ API - ರಿಜಿಸ್ಟರ್ ವಿಳಾಸಗಳೊಂದಿಗೆ ಮ್ಯಾಕ್ರೋಗಳು ಅಥವಾ ರಚನೆಗಳನ್ನು ಹೊಂದಿರುವ ಲೈಬ್ರರಿ, ಅವುಗಳನ್ನು ಹೆಸರಿನ ಮೂಲಕ ಪ್ರವೇಶಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. Atmega ನಲ್ಲಿ DDRx, PORTx, PINx LL.

"HAL, LL ಅಥವಾ ರೆಜಿಸ್ಟರ್‌ಗಳು" ಎಂಬ ವಿಷಯದ ಕುರಿತಾದ ವಿವಾದಗಳು Habé ನಲ್ಲಿನ ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ನಿಯಮಿತವಾಗಿ ಸಂಭವಿಸುತ್ತವೆ. ಆಸ್ಟ್ರಲ್ ಜ್ಞಾನಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಪಡೆಯದೆ, ನಾನು ನನ್ನ ಹವ್ಯಾಸಿ ಅನುಭವ ಮತ್ತು ಆಲೋಚನೆಗಳನ್ನು ಸರಳವಾಗಿ ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ.

ಹೆಚ್ಚು ಕಡಿಮೆ ಅಟ್ಮೆಗಾವನ್ನು ಕಂಡುಹಿಡಿದ ನಂತರ ಮತ್ತು STM32 ನ ಅದ್ಭುತತೆಯ ಬಗ್ಗೆ ಲೇಖನಗಳನ್ನು ಓದಿದ ನಂತರ, ನಾನು ಅರ್ಧ ಡಜನ್ ವಿಭಿನ್ನ ಬೋರ್ಡ್‌ಗಳನ್ನು ಖರೀದಿಸಿದೆ - ಡಿಸ್ಕವರಿ, ಮತ್ತು ಬ್ಲೂ ಪಿಲ್ಸ್, ಮತ್ತು ನನ್ನ ಮನೆಯಲ್ಲಿ ತಯಾರಿಸಿದ ಉತ್ಪನ್ನಗಳಿಗೆ ಕೇವಲ ಚಿಪ್ಸ್. ಅವರೆಲ್ಲರೂ ಎರಡು ವರ್ಷಗಳ ಕಾಲ ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ ಧೂಳನ್ನು ಸಂಗ್ರಹಿಸಿದರು. ಕೆಲವೊಮ್ಮೆ ನಾನೇ ಹೇಳಿಕೊಂಡೆ: “ಅಷ್ಟೇ, ನಾನು ಈ ವಾರಾಂತ್ಯದಲ್ಲಿ STM ಅನ್ನು ಮಾಸ್ಟರಿಂಗ್ ಮಾಡುತ್ತಿದ್ದೇನೆ,” CubeMX ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದೆ, SPI ಗಾಗಿ ಸೆಟಪ್ ಅನ್ನು ರಚಿಸಿದೆ, ಪಠ್ಯದ ಫಲಿತಾಂಶದ ಗೋಡೆಯನ್ನು ನೋಡಿ, STM ಹಕ್ಕುಸ್ವಾಮ್ಯಗಳೊಂದಿಗೆ ಉದಾರವಾಗಿ ಸುವಾಸನೆಯಾಗಿದೆ ಮತ್ತು ಇದು ಹೇಗಾದರೂ ತುಂಬಾ ಹೆಚ್ಚು ಎಂದು ನಿರ್ಧರಿಸಿದೆ. .

ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳು ನಿಮ್ಮ ಹವ್ಯಾಸವಾಗಿದ್ದರೆ ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಹೇಗೆ ಮತ್ತು ಏಕೆ ಓದಬೇಕು

ಸಹಜವಾಗಿ, CubeMX ಇಲ್ಲಿ ಏನು ಬರೆದಿದೆ ಎಂಬುದನ್ನು ನೀವು ಲೆಕ್ಕಾಚಾರ ಮಾಡಬಹುದು. ಆದರೆ ಅದೇ ಸಮಯದಲ್ಲಿ ಎಲ್ಲಾ ಪದಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದು ಮತ್ತು ನಂತರ ಅವುಗಳನ್ನು ಕೈಯಿಂದ ಬರೆಯುವುದು ಅವಾಸ್ತವಿಕ ಎಂದು ಸ್ಪಷ್ಟವಾಗುತ್ತದೆ. ಮತ್ತು ಇದನ್ನು ಡೀಬಗ್ ಮಾಡಲು, ನಾನು ಆಕಸ್ಮಿಕವಾಗಿ ಕ್ಯೂಬ್‌ನಲ್ಲಿ ಬಾಕ್ಸ್ ಅನ್ನು ಪರಿಶೀಲಿಸಲು ಮರೆತರೆ, ಅದು ಸಂಪೂರ್ಣವಾಗಿ ಉತ್ತಮವಾಗಿದೆ.

ಎರಡು ವರ್ಷಗಳು ಕಳೆದಿವೆ, ನಾನು ಇನ್ನೂ ನನ್ನ ತುಟಿಗಳನ್ನು ನೆಕ್ಕುತ್ತಿದ್ದೇನೆ ST MCU ಫೈಂಡರ್ ಎಲ್ಲಾ ರೀತಿಯ ಟೇಸ್ಟಿಗಾಗಿ, ಆದರೆ ನನ್ನ ತಿಳುವಳಿಕೆಯನ್ನು ಮೀರಿ, ಚಿಪ್ಸ್, ಮತ್ತು ಆಕಸ್ಮಿಕವಾಗಿ ಎದುರಾಗಿದೆ ಅದ್ಭುತ ಲೇಖನ, STM8 ಬಗ್ಗೆ ಆದರೂ. ಮತ್ತು ಇದ್ದಕ್ಕಿದ್ದಂತೆ ಈ ಸಮಯದಲ್ಲಿ ನಾನು ತೆರೆದ ಬಾಗಿಲನ್ನು ಬಡಿಯುತ್ತಿದ್ದೇನೆ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ: STM ನ ರೆಜಿಸ್ಟರ್‌ಗಳನ್ನು ಇತರ ಯಾವುದೇ MK ಯ ರೀತಿಯಲ್ಲಿಯೇ ಜೋಡಿಸಲಾಗಿದೆ ಮತ್ತು ಅವರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಕ್ಯೂಬ್ ಅಗತ್ಯವಿಲ್ಲ. ಇದು ಸಾಧ್ಯವೇ?..

HAL ಮತ್ತು ನಿರ್ದಿಷ್ಟವಾಗಿ STM32CubeMX ಎಂಬುದು STM32 ಚಿಪ್‌ಗಳೊಂದಿಗೆ ನಿಕಟವಾಗಿ ಕೆಲಸ ಮಾಡುವ ವೃತ್ತಿಪರ ಎಂಜಿನಿಯರ್‌ಗಳಿಗೆ ಒಂದು ಸಾಧನವಾಗಿದೆ. ಮುಖ್ಯ ಲಕ್ಷಣವೆಂದರೆ ಉನ್ನತ ಮಟ್ಟದ ಅಮೂರ್ತತೆ, STM32 ಸಾಲಿನೊಳಗೆ ಉಳಿದಿರುವಾಗ ಒಂದು MCU ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಮತ್ತು ಒಂದು ಕೋರ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ತ್ವರಿತವಾಗಿ ಸ್ಥಳಾಂತರಗೊಳ್ಳುವ ಸಾಮರ್ಥ್ಯ. ಹವ್ಯಾಸಿಗಳು ಅಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ಅಪರೂಪವಾಗಿ ಎದುರಿಸುತ್ತಾರೆ - ನಮ್ಮ ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್‌ಗಳ ಆಯ್ಕೆಯು ನಿಯಮದಂತೆ, ಅಲೈಕ್ಸ್‌ಪ್ರೆಸ್ ವಿಂಗಡಣೆಗೆ ಸೀಮಿತವಾಗಿದೆ ಮತ್ತು ನಾವು ಆಗಾಗ್ಗೆ ವಿಭಿನ್ನ ಚಿಪ್‌ಗಳ ನಡುವೆ ವಲಸೆ ಹೋಗುತ್ತೇವೆ - ನಾವು ಅಟ್ಮೆಗಾದಿಂದ ಎಸ್‌ಟಿಎಂಗೆ, ಎಸ್‌ಟಿಎಂನಿಂದ ಇಎಸ್‌ಪಿಗೆ ಅಥವಾ ಯಾವುದೇ ಹೊಸ ವಿಷಯ ನಮ್ಮ ಚೀನೀ ಸ್ನೇಹಿತರು ನಮ್ಮ ಮೇಲೆ ಎಸೆಯಿರಿ. HAL ಇಲ್ಲಿ ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಅದರ ಅಧ್ಯಯನವು ಬಹಳಷ್ಟು ಸಮಯವನ್ನು ತಿನ್ನುತ್ತದೆ.

ಎಲ್ಎಲ್ ಉಳಿದಿದೆ - ಆದರೆ ಅದರಿಂದ ರೆಜಿಸ್ಟರ್‌ಗಳಿಗೆ ಅರ್ಧ ಹೆಜ್ಜೆ ಇದೆ. ವೈಯಕ್ತಿಕವಾಗಿ, ರಿಜಿಸ್ಟರ್ ವಿಳಾಸಗಳೊಂದಿಗೆ ನನ್ನ ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಬರೆಯುವುದು ನನಗೆ ಉಪಯುಕ್ತವಾಗಿದೆ: ನಾನು ಡೇಟಾಶೀಟ್ ಅನ್ನು ಹೆಚ್ಚು ಎಚ್ಚರಿಕೆಯಿಂದ ಅಧ್ಯಯನ ಮಾಡುತ್ತೇನೆ, ಭವಿಷ್ಯದಲ್ಲಿ ನನಗೆ ಏನು ಬೇಕು ಮತ್ತು ನಾನು ಖಂಡಿತವಾಗಿಯೂ ಏನಾಗುವುದಿಲ್ಲ ಎಂಬುದರ ಕುರಿತು ನಾನು ಯೋಚಿಸುತ್ತೇನೆ, ನನ್ನ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ನಾನು ಉತ್ತಮವಾಗಿ ರಚಿಸುತ್ತೇನೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ, ಜಯಿಸುವುದು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. .

ಹೆಚ್ಚುವರಿಯಾಗಿ, ಜನಪ್ರಿಯ STM32F103 ನೊಂದಿಗೆ ಒಂದು ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸವಿದೆ - ಇದಕ್ಕೆ ಎರಡು ಹೊಂದಾಣಿಕೆಯಾಗದ LL ಆವೃತ್ತಿಗಳಿವೆ, STM ನಿಂದ ಒಂದು ಅಧಿಕೃತ, ಎರಡನೆಯದು ಲೀಫ್ ಲ್ಯಾಬ್ಸ್‌ನಿಂದ, STM32duino ಯೋಜನೆಯಲ್ಲಿ ಬಳಸಲಾಗಿದೆ. ನೀವು ಓಪನ್ ಸೋರ್ಸ್ ಲೈಬ್ರರಿಯನ್ನು ಬರೆದರೆ (ಮತ್ತು ನಾನು ನಿಖರವಾಗಿ ಹೊಂದಿದ್ದೇನೆ ಅಂತಹ ಕಾರ್ಯ), ನೀವು ಎರಡು ಆವೃತ್ತಿಗಳನ್ನು ಮಾಡಬೇಕು ಅಥವಾ ನೇರವಾಗಿ ರೆಜಿಸ್ಟರ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಬೇಕು.

ಅಂತಿಮವಾಗಿ, LL ಅನ್ನು ತೆಗೆದುಹಾಕುವುದು, ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ವಲಸೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ನೀವು ಯೋಜನೆಯ ಪ್ರಾರಂಭದಿಂದಲೇ ಅದರ ಮೇಲೆ ಯೋಜಿಸಿದರೆ. ಉತ್ಪ್ರೇಕ್ಷಿತ ಉದಾಹರಣೆ: LL ಇಲ್ಲದೆ Atmel ಸ್ಟುಡಿಯೋದಲ್ಲಿ Arduino ಬ್ಲಿಂಕ್ ಅನ್ನು ಬರೆಯೋಣ:

#include <stdint.h>

#define _REG(addr) (*(volatile uint8_t*)(addr))

#define DDR_B 0x24
#define OUT_B 0x25

int main(void)
{
    volatile uint32_t k;

    _REG(DDR_B) |= (1<<5);

    while(1)
    {
        _REG(OUT_B) |= (1<<5);
        for (k=0; k<50000; k++);
        _REG(OUT_B) &= ~(1<<5);
        for (k=0; k<50000; k++);
    } 
}

STM8 (ST ವಿಷುಯಲ್ ಡೆಸ್ಕ್‌ಟಾಪ್‌ನಿಂದ) ಚೀನೀ ಬೋರ್ಡ್‌ನಲ್ಲಿ ಎಲ್ಇಡಿಯನ್ನು ಮಿಟುಕಿಸಲು ಈ ಕೋಡ್‌ಗಾಗಿ, ಅದರಲ್ಲಿ ಎರಡು ವಿಳಾಸಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಕು:

#define DDR_B 0x5007
#define OUT_B 0x5005

ಹೌದು, ನಿರ್ದಿಷ್ಟ ಬೋರ್ಡ್‌ನಲ್ಲಿ ಎಲ್ಇಡಿಯನ್ನು ಸಂಪರ್ಕಿಸುವ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಾನು ಬಳಸುತ್ತೇನೆ, ಅದು ತುಂಬಾ ನಿಧಾನವಾಗಿ ಮಿಟುಕಿಸುತ್ತದೆ, ಆದರೆ ಅದು ಸಂಭವಿಸುತ್ತದೆ!

ಯಾವ ರೀತಿಯ ಡೇಟಾಶೀಟ್‌ಗಳಿವೆ?

ಲೇಖನಗಳಲ್ಲಿ ಮತ್ತು ವೇದಿಕೆಗಳಲ್ಲಿ, ರಷ್ಯನ್ ಮತ್ತು ಇಂಗ್ಲಿಷ್ ಎರಡೂ, "ಡೇಟಾಶೀಟ್ಗಳು" ಚಿಪ್ಸ್ಗಾಗಿ ಯಾವುದೇ ತಾಂತ್ರಿಕ ದಾಖಲಾತಿಯನ್ನು ಅರ್ಥೈಸುತ್ತವೆ ಮತ್ತು ನಾನು ಈ ಪಠ್ಯದಲ್ಲಿ ಅದೇ ರೀತಿ ಮಾಡುತ್ತೇನೆ. ಔಪಚಾರಿಕವಾಗಿ, ಅವುಗಳು ಅಂತಹ ದಾಖಲೆಗಳ ಒಂದು ವಿಧವಾಗಿದೆ:

ಮಾಹಿತಿಯ ಕಾಗದ - ಕಾರ್ಯಕ್ಷಮತೆಯ ಗುಣಲಕ್ಷಣಗಳು, ಯುದ್ಧತಂತ್ರದ ಮತ್ತು ತಾಂತ್ರಿಕ ಗುಣಲಕ್ಷಣಗಳು. ಯಾವುದೇ ಎಲೆಕ್ಟ್ರಾನಿಕ್ ಘಟಕಕ್ಕೆ ಕಡ್ಡಾಯವಾಗಿದೆ. ಹಿನ್ನೆಲೆ ಮಾಹಿತಿಯು ಕೈಯಲ್ಲಿ ಇರಿಸಿಕೊಳ್ಳಲು ಉಪಯುಕ್ತವಾಗಿದೆ, ಆದರೆ ಅದರಲ್ಲಿ ಚಿಂತನಶೀಲವಾಗಿ ಓದಲು ಹೆಚ್ಚು ಇಲ್ಲ. ಆದಾಗ್ಯೂ, ಅನಗತ್ಯ ದಾಖಲೆಗಳನ್ನು ಉತ್ಪಾದಿಸದಂತೆ ಸರಳವಾದ ಚಿಪ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಡೇಟಾಶೀಟ್‌ಗೆ ಸೀಮಿತವಾಗಿರುತ್ತವೆ; ಈ ವಿಷಯದಲ್ಲಿ ಉಲ್ಲೇಖ ಕೈಪಿಡಿ ಇಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ.

ಉಲ್ಲೇಖ ಕೈಪಿಡಿ - ಸೂಚನೆಗಳು ಸ್ವತಃ, 1000+ ಪುಟಗಳ ಆರೋಗ್ಯಕರ ಪುಸ್ತಕ. ಚಿಪ್ನಲ್ಲಿ ತುಂಬಿರುವ ಎಲ್ಲದರ ಕೆಲಸವನ್ನು ವಿವರವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ. ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್ ಅನ್ನು ಮಾಸ್ಟರಿಂಗ್ ಮಾಡಲು ಮುಖ್ಯ ದಾಖಲೆ. ಭಿನ್ನವಾಗಿ ಡಾಟಾಶೀಟ್, MK ಗಳ ವ್ಯಾಪಕ ಶ್ರೇಣಿಗಾಗಿ ಸೂಚನೆಗಳನ್ನು ಬರೆಯಲಾಗಿದೆ; ಅವು ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಮಾದರಿಯಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲದ ಪೆರಿಫೆರಲ್‌ಗಳ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ.

ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೈಪಿಡಿ ಅಥವಾ ಸೂಚನಾ ಸೆಟ್ ಕೈಪಿಡಿ - ಅನನ್ಯ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಆಜ್ಞೆಗಳಿಗೆ ಸೂಚನೆಗಳು. ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಮಾಡುವವರಿಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಕಂಪೈಲರ್ ಲೇಖಕರು ಕೋಡ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲು ಸಕ್ರಿಯವಾಗಿ ಬಳಸುತ್ತಾರೆ, ಆದ್ದರಿಂದ ಸಾಮಾನ್ಯ ಸಂದರ್ಭದಲ್ಲಿ ನಮಗೆ ಇದು ಅಗತ್ಯವಿರುವುದಿಲ್ಲ. ಆದರೆ ಇಲ್ಲಿ ನೋಡುವುದು ಸಾಮಾನ್ಯ ತಿಳುವಳಿಕೆಗೆ ಉಪಯುಕ್ತವಾಗಿದೆ, ಅಡಚಣೆಯಿಂದ ನಿರ್ಗಮಿಸುವಂತಹ ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಆಜ್ಞೆಗಳಿಗೆ, ಹಾಗೆಯೇ ಡೀಬಗರ್ ಅನ್ನು ಸಕ್ರಿಯವಾಗಿ ಬಳಸುವುದಕ್ಕಾಗಿ.

ಅಪ್ಲಿಕೇಶನ್ ಟಿಪ್ಪಣಿ - ಸಾಮಾನ್ಯವಾಗಿ ಕೋಡ್ ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಉಪಯುಕ್ತ ಸಲಹೆಗಳು.

ತಪ್ಪಾದ ಹಾಳೆ - ಪರಿಹಾರ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಪ್ರಮಾಣಿತವಲ್ಲದ ಚಿಪ್ ನಡವಳಿಕೆಯ ಪ್ರಕರಣಗಳ ವಿವರಣೆ, ಯಾವುದಾದರೂ ಇದ್ದರೆ.

ಡೇಟಾಶೀಟ್‌ಗಳಲ್ಲಿ ಏನಿದೆ

ನೇರವಾಗಿ ಗೆ ಮಾಹಿತಿಯ ಕಾಗದ ನಮಗೆ ಈ ಕೆಳಗಿನ ವಿಭಾಗಗಳು ಬೇಕಾಗಬಹುದು:

ಸಾಧನದ ಸಾರಾಂಶ - ಡೇಟಾಶೀಟ್‌ನ ಮೊದಲ ಪುಟವು ಸಾಧನವನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವಿವರಿಸುತ್ತದೆ. ನೀವು ಎಲ್ಲೋ ಚಿಪ್ ಅನ್ನು ಕಂಡುಕೊಂಡಾಗ (ಅದನ್ನು ಅಂಗಡಿಯಲ್ಲಿ ನೋಡಿದಾಗ, ಅದನ್ನು ಬೆಸುಗೆ ಹಾಕಿದಾಗ, ಉಲ್ಲೇಖವನ್ನು ನೋಡಿದಾಗ) ಮತ್ತು ಅದು ಏನೆಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಬಯಸಿದಾಗ ಸಂದರ್ಭಗಳಲ್ಲಿ ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ.

ಸಾಮಾನ್ಯ ವಿವರಣೆ - ಸಾಲಿನಿಂದ ಚಿಪ್ಸ್ ಸಾಮರ್ಥ್ಯಗಳ ಹೆಚ್ಚು ವಿವರವಾದ ವಿವರಣೆ.

ಪಿನ್ಔಟ್ಗಳು - ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ಚಿಪ್ ಪ್ಯಾಕೇಜ್‌ಗಳಿಗೆ ಪಿನ್‌ಔಟ್ ರೇಖಾಚಿತ್ರಗಳು (ಯಾವ ಪಿನ್ ಯಾವ ಕಾಲಿನ ಮೇಲೆ ಇದೆ).

ಪಿನ್ ವಿವರಣೆ - ಪ್ರತಿ ಪಿನ್‌ನ ಉದ್ದೇಶ ಮತ್ತು ಸಾಮರ್ಥ್ಯಗಳ ವಿವರಣೆ.

ಮೆಮೊರಿ ನಕ್ಷೆ - ನಮಗೆ ಮೆಮೊರಿಯಲ್ಲಿ ವಿಳಾಸ ನಕ್ಷೆಯ ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಇದು ರಿಜಿಸ್ಟರ್ ಬ್ಲಾಕ್ ವಿಳಾಸಗಳ ಕೋಷ್ಟಕವನ್ನು ಸಹ ಒಳಗೊಂಡಿರುತ್ತದೆ.

ನೋಂದಣಿ ನಕ್ಷೆ - ರಿಜಿಸ್ಟರ್ ಬ್ಲಾಕ್‌ಗಳ ವಿಳಾಸಗಳ ಕೋಷ್ಟಕ, ನಿಯಮದಂತೆ, ಡೇಟಾಶೀಟ್‌ನಲ್ಲಿದೆ ಮತ್ತು ಇನ್ ಉಲ್ಲೇಖ ಕೈಪಿಡಿ - ಕೇವಲ ವರ್ಗಾವಣೆಗಳು (ವಿಳಾಸ ಆಫ್‌ಸೆಟ್‌ಗಳು).

ವಿದ್ಯುತ್ ಗುಣಲಕ್ಷಣಗಳು - ಈ ವಿಭಾಗದಲ್ಲಿ ನಾವು ಪ್ರಾಥಮಿಕವಾಗಿ ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೇವೆ ಅತಿ ಹೆಚ್ಚು ಅಂಕಗಳು, ಪ್ರತಿ ಚಿಪ್‌ಗೆ ಗರಿಷ್ಠ ಲೋಡ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವುದು. ಅವಿನಾಶವಾದ Atmega328p ಗಿಂತ ಭಿನ್ನವಾಗಿ, ಹೆಚ್ಚಿನ MK ಗಳು ಪಿನ್‌ಗಳಿಗೆ ಗಂಭೀರ ಲೋಡ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ, ಇದು ಆರ್ಡುಯಿನಿಸ್ಟ್‌ಗಳಿಗೆ ಅಹಿತಕರ ಆಶ್ಚರ್ಯವನ್ನು ನೀಡುತ್ತದೆ.

ಪ್ಯಾಕೇಜ್ ಮಾಹಿತಿ - ಲಭ್ಯವಿರುವ ಪ್ರಕರಣಗಳ ರೇಖಾಚಿತ್ರಗಳು, ನಿಮ್ಮ ಬೋರ್ಡ್‌ಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವಾಗ ಉಪಯುಕ್ತವಾಗಿದೆ.

ಉಲ್ಲೇಖ ಕೈಪಿಡಿ ರಚನಾತ್ಮಕವಾಗಿ ಅವುಗಳ ಶೀರ್ಷಿಕೆಯಲ್ಲಿ ಸೂಚಿಸಲಾದ ನಿರ್ದಿಷ್ಟ ಪೆರಿಫೆರಲ್‌ಗಳಿಗೆ ಮೀಸಲಾದ ವಿಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಪ್ರತಿಯೊಂದು ಅಧ್ಯಾಯವನ್ನು ಮೂರು ಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಬಹುದು:

ಅವಲೋಕನ, ಪರಿಚಯ, ವೈಶಿಷ್ಟ್ಯಗಳು - ಬಾಹ್ಯ ಸಾಮರ್ಥ್ಯಗಳ ಅವಲೋಕನ;

ಕ್ರಿಯಾತ್ಮಕ ವಿವರಣೆ, ಬಳಕೆ ಮಾರ್ಗದರ್ಶಿ ಅಥವಾ ಸರಳವಾಗಿ ವಿಭಾಗದ ಮುಖ್ಯ ಬ್ಲಾಕ್ - ಬಾಹ್ಯ ಸಾಧನದ ತತ್ವಗಳ ವಿವರವಾದ ಪಠ್ಯ ವಿವರಣೆ ಮತ್ತು ಅದನ್ನು ಹೇಗೆ ಬಳಸುವುದು;

ರೆಜಿಸ್ಟರ್‌ಗಳು - ನಿಯಂತ್ರಣ ರೆಜಿಸ್ಟರ್‌ಗಳ ವಿವರಣೆ. GPIO ಅಥವಾ SPI ನಂತಹ ಸರಳ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಪೆರಿಫೆರಲ್‌ಗಳನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಲು ಇದು ಸಾಕಷ್ಟು ಸಾಕಾಗಬಹುದು, ಆದರೆ ಆಗಾಗ್ಗೆ ನೀವು ಹಿಂದಿನ ಭಾಗಗಳನ್ನು ಓದಬೇಕಾಗುತ್ತದೆ.

ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಓದುವುದು ಹೇಗೆ

ಡೇಟಾಶೀಟ್‌ಗಳು, ಅಭ್ಯಾಸದಿಂದ ಹೊರಬಂದು, ಅವುಗಳ ಪರಿಮಾಣ ಮತ್ತು ಗ್ರಹಿಸಲಾಗದ ಪದಗಳ ಸಮೃದ್ಧಿಯಿಂದ ನಿಮ್ಮನ್ನು ಭಯಪಡಿಸುತ್ತವೆ. ವಾಸ್ತವವಾಗಿ, ನಿಮಗೆ ಕೆಲವು ಲೈಫ್ ಹ್ಯಾಕ್‌ಗಳು ತಿಳಿದಿದ್ದರೆ ಎಲ್ಲವೂ ತುಂಬಾ ಭಯಾನಕವಲ್ಲ.

ಸ್ಥಾಪಿಸಿ ಉತ್ತಮ PDF ರೀಡರ್. ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಕಾಗದದ ಸೂಚನೆಗಳ ಅದ್ಭುತ ಸಂಪ್ರದಾಯದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ; ಅವುಗಳನ್ನು ಮುದ್ರಿಸಲು, ಪ್ಲಾಸ್ಟಿಕ್ ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳೊಂದಿಗೆ ಸೇರಿಸಲು ಮತ್ತು ಹೊಲಿಯಲು ಉತ್ತಮವಾಗಿದೆ. ಅವುಗಳಲ್ಲಿನ ಹೈಪರ್ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಜಾಡಿನ ಪ್ರಮಾಣದಲ್ಲಿ ಗಮನಿಸಲಾಗಿದೆ. ಅದೃಷ್ಟವಶಾತ್, ಕನಿಷ್ಠ ಡಾಕ್ಯುಮೆಂಟ್ನ ರಚನೆಯನ್ನು ಬುಕ್ಮಾರ್ಕ್ಗಳೊಂದಿಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಸುಲಭವಾದ ನ್ಯಾವಿಗೇಷನ್ನೊಂದಿಗೆ ಸೂಕ್ತವಾದ ರೀಡರ್ ಬಹಳ ಅವಶ್ಯಕವಾಗಿದೆ.

ಡೇಟಾಶೀಟ್ ಸ್ಟ್ರಾಸ್ಟ್ರಪ್ ಪಠ್ಯಪುಸ್ತಕವಲ್ಲ; ಇದು ಒಳಗೊಂಡಿದೆ ಎಲ್ಲವನ್ನೂ ಓದುವ ಅಗತ್ಯವಿಲ್ಲ. ನೀವು ಹಿಂದಿನ ಸಲಹೆಯನ್ನು ಬಳಸಿದರೆ, ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳ ಬಾರ್‌ನಲ್ಲಿ ಬಯಸಿದ ವಿಭಾಗವನ್ನು ಹುಡುಕಿ.

ಡೇಟಾಶೀಟ್‌ಗಳು, ವಿಶೇಷವಾಗಿ ಉಲ್ಲೇಖ ಕೈಪಿಡಿಗಳು, ನಿರ್ದಿಷ್ಟ ಚಿಪ್ನ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿವರಿಸಬಹುದು, ಆದರೆ ಸಂಪೂರ್ಣ ಸಾಲು. ಇದರರ್ಥ ಅರ್ಧ ಅಥವಾ ಮೂರನೇ ಎರಡರಷ್ಟು ಮಾಹಿತಿಯು ನಿಮ್ಮ ಚಿಪ್‌ಗೆ ಸಂಬಂಧಿಸಿಲ್ಲ. TIM7 ರೆಜಿಸ್ಟರ್‌ಗಳನ್ನು ಅಧ್ಯಯನ ಮಾಡುವ ಮೊದಲು, ಚೆಕ್ ಇನ್ ಮಾಡಿ ಸಾಮಾನ್ಯ ವಿವರಣೆ, ನೀವು ಅದನ್ನು ಹೊಂದಿದ್ದೀರಾ?

ತಿಳಿಯಲು ಇಂಗ್ಲೀಷ್ ಸಾಕಷ್ಟು ಮೂಲ ಮಟ್ಟ. ಡೇಟಾಶೀಟ್‌ಗಳು ಸರಾಸರಿ ಸ್ಥಳೀಯ ಸ್ಪೀಕರ್‌ಗೆ ಪರಿಚಯವಿಲ್ಲದ ಅರ್ಧದಷ್ಟು ಪದಗಳನ್ನು ಮತ್ತು ಅರ್ಧದಷ್ಟು ಸರಳ ಸಂಪರ್ಕ ರಚನೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಚೈನೀಸ್ ಇಂಗ್ಲಿಷ್‌ನಲ್ಲಿ ಅತ್ಯುತ್ತಮ ಚೈನೀಸ್ ಡೇಟಾಶೀಟ್‌ಗಳು ಸಹ ಇವೆ, ಅಲ್ಲಿ ಅರ್ಧವು ಪದಗಳು ಮತ್ತು ದ್ವಿತೀಯಾರ್ಧವು ಯಾದೃಚ್ಛಿಕ ಪದಗಳ ಗುಂಪಾಗಿದೆ.

ನೀವು ಭೇಟಿಯಾದರೆ ಪರಿಚಯವಿಲ್ಲದ ಪದ, ಇಂಗ್ಲೀಷ್-ರಷ್ಯನ್ ನಿಘಂಟನ್ನು ಬಳಸಿ ಅದನ್ನು ಅನುವಾದಿಸಲು ಪ್ರಯತ್ನಿಸಬೇಡಿ. ನೀವು ಗೊಂದಲಕ್ಕೊಳಗಾಗಿದ್ದರೆ ಗರ್ಭಕಂಠ, ನಂತರ ಅನುವಾದ "ಹಿಸ್ಟರೆಸಿಸ್" ನಿಮ್ಮನ್ನು ಬೆಚ್ಚಗಾಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿರುವ Google, ಸ್ಟಾಕ್ ಓವರ್‌ಫ್ಲೋ, ವಿಕಿಪೀಡಿಯಾ, ಫೋರಮ್‌ಗಳನ್ನು ಬಳಸಿ ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ಸರಳ ಪದಗಳಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ.

ನೀವು ಓದಿದ್ದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಉತ್ತಮ ಮಾರ್ಗವಾಗಿದೆ ಕ್ರಿಯೆಯಲ್ಲಿ ಪರಿಶೀಲಿಸಿ. ಆದ್ದರಿಂದ, ನೀವು ಇನ್ನೂ ಏನನ್ನಾದರೂ ತಪ್ಪಾಗಿ ಅರ್ಥಮಾಡಿಕೊಂಡರೆ ಮತ್ತು ಮ್ಯಾಜಿಕ್ ಹೊಗೆಯನ್ನು ನೋಡಿದರೆ, ನೀವೇ ಪರಿಚಿತವಾಗಿರುವ ಡೀಬಗ್ ಬೋರ್ಡ್ ಅನ್ನು ಕೈಯಲ್ಲಿ ಇರಿಸಿ ಅಥವಾ ಎರಡು ಉತ್ತಮವಾಗಿದೆ.

ನೀವು ಇರುವಾಗ ನಿಮ್ಮ ಡೇಟಾಶೀಟ್ ಅನ್ನು ಕೈಯಲ್ಲಿ ಇಟ್ಟುಕೊಳ್ಳುವುದು ಉತ್ತಮ ಅಭ್ಯಾಸವಾಗಿದೆ ಯಾರೊಬ್ಬರ ಟ್ಯುಟೋರಿಯಲ್ ಓದುವುದು ಅಥವಾ ಬೇರೊಬ್ಬರ ಗ್ರಂಥಾಲಯವನ್ನು ಅಧ್ಯಯನ ಮಾಡುವುದು. ಅದರಲ್ಲಿ ನಿಮ್ಮ ಸಮಸ್ಯೆಗೆ ಹೆಚ್ಚು ಸೂಕ್ತವಾದ ಪರಿಹಾರವನ್ನು ನೀವು ಕಂಡುಕೊಳ್ಳುವ ಸಾಧ್ಯತೆಯಿದೆ. ಮತ್ತು ಪ್ರತಿಯಾಗಿ - ರಿಜಿಸ್ಟರ್ ನಿಜವಾಗಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಡೇಟಾಶೀಟ್‌ನಿಂದ ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಅದನ್ನು ಗೂಗಲ್ ಮಾಡಿ: ಹೆಚ್ಚಾಗಿ, ಯಾರಾದರೂ ಈಗಾಗಲೇ ಎಲ್ಲವನ್ನೂ ಸರಳ ಪದಗಳಲ್ಲಿ ವಿವರಿಸಿದ್ದಾರೆ ಅಥವಾ GitHub ನಲ್ಲಿ ಸ್ಪಷ್ಟ ಕೋಡ್ ಅನ್ನು ಬಿಟ್ಟಿದ್ದಾರೆ.

ನಿಘಂಟು

ಡೇಟಾಶೀಟ್‌ಗಳಿಗೆ ತ್ವರಿತವಾಗಿ ಬಳಸಿಕೊಳ್ಳಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಲು ಕೆಲವು ಉಪಯುಕ್ತ ಪದಗಳು ಮತ್ತು ಚಿಹ್ನೆಗಳು. ಕಳೆದೆರಡು ದಿನಗಳಲ್ಲಿ ನಾನು ನೆನಪಿಸಿಕೊಂಡದ್ದು, ಸೇರ್ಪಡೆಗಳು ಮತ್ತು ತಿದ್ದುಪಡಿಗಳು ಸ್ವಾಗತಾರ್ಹ.

ವಿದ್ಯುತ್
ವಿಸಿಸಿ, ವಿ.ಡಿ.ಡಿ. - "ಪ್ಲಸ್", ಆಹಾರ
Vss, ವೀ - "ಮೈನಸ್", ಭೂಮಿ
ಪ್ರಸ್ತುತ - ಪ್ರಸ್ತುತ
ವೋಲ್ಟೇಜ್ - ವೋಲ್ಟೇಜ್
ಪ್ರವಾಹವನ್ನು ಮುಳುಗಿಸಲು - ಬಾಹ್ಯ ಹೊರೆಗಾಗಿ "ನೆಲ" ವಾಗಿ ಕೆಲಸ ಮಾಡಿ
ಮೂಲ ಪ್ರವಾಹಕ್ಕೆ - ಶಕ್ತಿ ಬಾಹ್ಯ ಲೋಡ್
ಹೆಚ್ಚಿನ ಸಿಂಕ್ / ಮೂಲ ಪಿನ್ - ಲೋಡ್ ಮಾಡಲು ಹೆಚ್ಚಿದ "ಸಹಿಷ್ಣುತೆ" ಯೊಂದಿಗೆ ಪಿನ್ ಮಾಡಿ

IO
ಎಚ್, ಹೈ - ವಿಸಿಸಿ ಪಿನ್‌ನಲ್ಲಿ
ಎಲ್, ಕಡಿಮೆ - Vss ಪಿನ್‌ನಲ್ಲಿ
ಹೆಚ್ಚಿನ ಪ್ರತಿರೋಧ, ಹೈ-ಝಡ್, ತೇಲುವ - ಪಿನ್‌ನಲ್ಲಿ ಏನೂ ಇಲ್ಲ, "ಹೆಚ್ಚಿನ ಪ್ರತಿರೋಧ", ಇದು ಹೊರಗಿನ ಪ್ರಪಂಚಕ್ಕೆ ವಾಸ್ತವಿಕವಾಗಿ ಅಗೋಚರವಾಗಿರುತ್ತದೆ.
ದುರ್ಬಲ ಎಳೆಯಿರಿ, ದುರ್ಬಲ ಎಳೆಯಿರಿ - ಅಂತರ್ನಿರ್ಮಿತ ಪುಲ್-ಅಪ್/ಪುಲ್-ಡೌನ್ ರೆಸಿಸ್ಟರ್, ಸರಿಸುಮಾರು 50 kOhm ಗೆ ಸಮನಾಗಿರುತ್ತದೆ (ಡೇಟಾಶೀಟ್ ನೋಡಿ). ಉದಾಹರಣೆಗೆ, ಇನ್‌ಪುಟ್ ಪಿನ್ ಗಾಳಿಯಲ್ಲಿ ತೂಗಾಡದಂತೆ ತಡೆಯಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ತಪ್ಪು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ. ದುರ್ಬಲ - ಏಕೆಂದರೆ ಅವನನ್ನು "ಅಡಚಣೆ" ಮಾಡುವುದು ಸುಲಭ.
ತಳ್ಳು ಎಳೆ - ಪಿನ್ ಔಟ್‌ಪುಟ್ ಮೋಡ್, ಅದರ ನಡುವೆ ಬದಲಾಯಿಸುತ್ತದೆ ಹೈ и ಕಡಿಮೆ - Arduino ನಿಂದ ನಿಯಮಿತ OUTPUT.
ತೆರೆದ ಚರಂಡಿ - ಔಟ್‌ಪುಟ್ ಮೋಡ್‌ನ ಪದನಾಮವು ಇದರಲ್ಲಿ ಪಿನ್ ಆಗಿರಬಹುದು ಕಡಿಮೆ, ಅಥವಾ ಹೆಚ್ಚಿನ ಪ್ರತಿರೋಧ/ಫ್ಲೋಟಿಂಗ್. ಇದಲ್ಲದೆ, ಯಾವಾಗಲೂ ಇದು "ನೈಜ" ತೆರೆದ ಡ್ರೈನ್ ಅಲ್ಲ; ರಕ್ಷಣಾತ್ಮಕ ಡಯೋಡ್‌ಗಳು, ರೆಸಿಸ್ಟರ್‌ಗಳು ಮತ್ತು ಏನಿಲ್ಲ. ಇದು ಕೇವಲ ಗ್ರೌಂಡ್/ಯಾವುದೇ ಮೋಡ್‌ಗೆ ಪದನಾಮವಾಗಿದೆ.
ನಿಜವಾದ ತೆರೆದ ಚರಂಡಿ - ಆದರೆ ಇದು ನಿಜವಾದ ತೆರೆದ ಡ್ರೈನ್ ಆಗಿದೆ: ಪಿನ್ ತೆರೆದಿದ್ದರೆ ನೇರವಾಗಿ ನೆಲಕ್ಕೆ ಕೊಂಡೊಯ್ಯುತ್ತದೆ, ಅಥವಾ ಮುಚ್ಚಿದ್ದರೆ ಅದು ನಿಶ್ಚಲವಾಗಿರುತ್ತದೆ. ಇದರರ್ಥ, ಅಗತ್ಯವಿದ್ದರೆ, Vcc ಗಿಂತ ಹೆಚ್ಚಿನ ವೋಲ್ಟೇಜ್ ಅನ್ನು ಅದರ ಮೂಲಕ ರವಾನಿಸಬಹುದು, ಆದರೆ ವಿಭಾಗದಲ್ಲಿನ ಡೇಟಾಶೀಟ್‌ನಲ್ಲಿ ಗರಿಷ್ಠವನ್ನು ಇನ್ನೂ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ ಸಂಪೂರ್ಣ ಗರಿಷ್ಠ ರೇಟಿಂಗ್‌ಗಳು/ವೋಲ್ಟೇಜ್.

ಇಂಟರ್ಫೇಸ್ಗಳು
ಸರಣಿಯಲ್ಲಿ - ಸರಣಿಯಲ್ಲಿ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ
ಸರಪಳಿಗೆ - ಸರಣಿ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಸರಪಳಿಯಲ್ಲಿ ಚಿಪ್‌ಗಳನ್ನು ಜೋಡಿಸಿ, ಔಟ್‌ಪುಟ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹೆಚ್ಚಿಸಿ.
ಶಿಫ್ಟ್ - ಶಿಫ್ಟ್, ಸಾಮಾನ್ಯವಾಗಿ ಬಿಟ್ ಶಿಫ್ಟ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಕ್ರಮವಾಗಿ, ಒಳಗೆ ಬದಲಾಯಿಸಲು и ಹೊರಗೆ ಸ್ಥಳಾಂತರಿಸಲು - ಬಿಟ್ ಬಿಟ್ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಿ ಮತ್ತು ರವಾನಿಸಿ.
ಲಾಚ್ - ಬಿಟ್‌ಗಳನ್ನು ಅದರ ಮೂಲಕ ವರ್ಗಾಯಿಸಿದಾಗ ಬಫರ್ ಅನ್ನು ಆವರಿಸುವ ಒಂದು ಬೀಗ. ವರ್ಗಾವಣೆ ಪೂರ್ಣಗೊಂಡಾಗ, ಕವಾಟವು ತೆರೆಯುತ್ತದೆ ಮತ್ತು ಬಿಟ್ಗಳು ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುತ್ತವೆ.
ಗಡಿಯಾರ ಮಾಡಲು - ಬಿಟ್-ಬೈ-ಬಿಟ್ ವರ್ಗಾವಣೆಯನ್ನು ನಿರ್ವಹಿಸಿ, ಎಲ್ಲಾ ಬಿಟ್‌ಗಳನ್ನು ಸರಿಯಾದ ಸ್ಥಳಗಳಿಗೆ ವರ್ಗಾಯಿಸಿ.
ಡಬಲ್ ಬಫರ್, ನೆರಳು ನೋಂದಣಿ, ಪೂರ್ವ ಲೋಡ್ ರಿಜಿಸ್ಟರ್ - ಇತಿಹಾಸ ಪದನಾಮಗಳು, ರಿಜಿಸ್ಟರ್ ಹೊಸ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲು ಶಕ್ತವಾಗಿರಬೇಕು, ಆದರೆ ಕೆಲವು ಹಂತದವರೆಗೆ ಅದನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ. ಉದಾಹರಣೆಗೆ, PWM ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು, ಪ್ರಸ್ತುತ ಚಕ್ರವು ಕೊನೆಗೊಳ್ಳುವವರೆಗೆ ಅದರ ನಿಯತಾಂಕಗಳು (ಕರ್ತವ್ಯ ಚಕ್ರ, ಆವರ್ತನ) ಬದಲಾಗಬಾರದು, ಆದರೆ ಹೊಸ ನಿಯತಾಂಕಗಳನ್ನು ಈಗಾಗಲೇ ವರ್ಗಾಯಿಸಬಹುದು. ಅದರಂತೆ, ಪ್ರಸ್ತುತವನ್ನು ಇರಿಸಲಾಗುತ್ತದೆ ನೆರಳು ನೋಂದಣಿ, ಮತ್ತು ಹೊಸವುಗಳು ಸೇರುತ್ತವೆ ಪೂರ್ವ ಲೋಡ್ ರಿಜಿಸ್ಟರ್, ಅನುಗುಣವಾದ ಚಿಪ್ ರಿಜಿಸ್ಟರ್‌ಗೆ ಬರೆಯಲಾಗಿದೆ.

ಎಲ್ಲಾ ರೀತಿಯ ವಸ್ತುಗಳು
ಪ್ರಿಸ್ಕೇಲರ್ - ಆವರ್ತನ ಪ್ರಿಸ್ಕೇಲರ್
ಸ್ವಲ್ಪ ಹೊಂದಿಸಲು - ಬಿಟ್ ಅನ್ನು 1 ಕ್ಕೆ ಹೊಂದಿಸಿ
ಸ್ವಲ್ಪ ತೆರವುಗೊಳಿಸಲು/ಮರುಹೊಂದಿಸಲು - ಬಿಟ್ ಅನ್ನು 0 ಗೆ ಮರುಹೊಂದಿಸಿ (ಮರುಹೊಂದಿಸಿ - STM ಡೇಟಾಶೀಟ್ ವೈಶಿಷ್ಟ್ಯ)

ಮುಂದೆ ಏನು

ಸಾಮಾನ್ಯವಾಗಿ, STM32 ಮತ್ತು STM8 ನಲ್ಲಿ ಮೂರು ಯೋಜನೆಗಳ ಪ್ರದರ್ಶನದೊಂದಿಗೆ ಪ್ರಾಯೋಗಿಕ ಭಾಗವನ್ನು ಇಲ್ಲಿ ಯೋಜಿಸಲಾಗಿದೆ, ಈ ಲೇಖನಕ್ಕಾಗಿ ನಿರ್ದಿಷ್ಟವಾಗಿ ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಬಳಸಿ, ಬೆಳಕಿನ ಬಲ್ಬ್‌ಗಳು, SPI, ಟೈಮರ್‌ಗಳು, PWM ಮತ್ತು ಅಡಚಣೆಗಳೊಂದಿಗೆ:

ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳು ನಿಮ್ಮ ಹವ್ಯಾಸವಾಗಿದ್ದರೆ ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಹೇಗೆ ಮತ್ತು ಏಕೆ ಓದಬೇಕು

ಆದರೆ ಬಹಳಷ್ಟು ಪಠ್ಯವಿದೆ, ಆದ್ದರಿಂದ ಯೋಜನೆಗಳನ್ನು ಎರಡನೇ ಭಾಗಕ್ಕೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.

ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು ಓದುವ ಕೌಶಲ್ಯವು ನಿಮ್ಮ ಹವ್ಯಾಸದೊಂದಿಗೆ ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಆದರೆ ವೇದಿಕೆಗಳು ಮತ್ತು ಚಾಟ್‌ಗಳಲ್ಲಿ ಸಹ ಹವ್ಯಾಸಿಗಳೊಂದಿಗೆ ಲೈವ್ ಸಂವಹನವನ್ನು ಬದಲಿಸಲು ಅಸಂಭವವಾಗಿದೆ. ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ, ನೀವು ಇನ್ನೂ ಮೊದಲು ನಿಮ್ಮ ಇಂಗ್ಲಿಷ್ ಅನ್ನು ಸುಧಾರಿಸಬೇಕಾಗಿದೆ. ಆದ್ದರಿಂದ, ಓದುವಿಕೆಯನ್ನು ಮುಗಿಸಿದವರು ವಿಶೇಷ ಬಹುಮಾನವನ್ನು ಸ್ವೀಕರಿಸುತ್ತಾರೆ: ಕೋಡ್ ಬಳಸಿ ಮೊದಲ ಪಾವತಿಯೊಂದಿಗೆ ಸ್ಕೈಂಗ್‌ನಲ್ಲಿ ಎರಡು ಉಚಿತ ಪಾಠಗಳು HABR2.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ