17.STM nucleo F401RE MCU da qanday aloqa portlari mavjud? Ularni taqqoslang? STM Nucleo F401RE mikrokontrollerida quyidagi aloqa portlari mavjud:
GPIO (General-Purpose Input/Output) portlari: STM Nucleo F401RE-da 64 ta GPIO pin mavjud bo'lib, ulardan ba'zi ajoyib qismatlar:
Port A: PA0, PA1, PA2, PA3, PA5, PA6, PA7.
Port B: PB0, PB1, PB3, PB4, PB5, PB6, PB7, PB8, PB9.
Port C: PC0, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12.
Port D: PD2, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15.
UART (Universal Asynchronous Receiver/Transmitter) portlari: Nucleo F401RE-da UART kommunikatsiya uchun UART2 va UART3 portlari mavjud.
UART2: TX - PA2, RX - PA3.
UART3: TX - PB10, RX - PB11
SPI (Serial Peripheral Interface) portlari: SPI kommunikatsiyasi uchun SPI1, SPI2 va SPI3 portlari mavjud.
SPI1: SCK - PA5, MISO - PA6, MOSI - PA7.
SPI2: SCK - PB13, MISO - PB14, MOSI - PB15.
SPI3: SCK - PC10, MISO - PC11, MOSI - PC12.
I2C (Inter-Integrated Circuit) portlari: I2C kommunikatsiyasi uchun I2C1 va I2C2 portlari mavjud.
I2C1: SDA - PB9, SCL - PB8.
I2C2: SDA - PB3, SCL - PB10.
ADC (Analog-to-Digital Converter) portlari: Analog kuzatuvchi vaqtincha aylantiruvchi uchun ADC1 va ADC2 portlari mavjud.
ADC1: PA0, PA1, PA4, PA5, PA6, PA7.
ADC2: PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7.
PWM (Pulse Width Modulation) portlari: PWM sig'nallarini generatsiya qilish uchun TIM1, TIM2, TIM3, TIM4, TIM9, TIM10, TIM11 portlari mavjud.
Ushbu portlar yagona misollar hisoblanib, STM Nucleo F401RE-da boshqa portlarning ham mavjudligi va ulardagi to'liq funksiyalariga o'zingiz ma'lumot olish uchun STM32F401RE datasheetini va Nucleo F401RE board hujjatlarini o'qing.
Savol- GPIO port nima, u qanday ishlaydi. HAL kutubxonada GPIO port bilan ishlash funksiyalari
qaysilar?
GPIO porti (General Purpose Input/Output port) mikrokontrollerdagi umumiy maqsadli kirish/chiquvchi portdir. Bu port orqali mikrokontroller bilan har qanday harakatlar uchun tizimli kirishlarni olish va chiquvchilarni bajarish mumkin.
HAL (Hardware Abstraction Layer) GPIO portni boshqarish uchun muxlislarni taklif etadi. Bu muxlislar bilan HAL kutubxonasida quyidagilar kabi asosiy ishlar amalga oshirilishi mumkin:
Portni yoqish (Enable): GPIO portni faollashtirish uchun to'g'ridan-to'g'ri bitini o'zgartirish yordamida portni yoqish mumkin.
Portni yo'qotish (Disable): GPIO portni o'chirish uchun to'g'ridan-to'g'ri bitini o'zgartirish yordamida portni yo'qotish mumkin.
Portni kirish sinyallarini o'qish (Read input signals): GPIO portida mavjud kirish sinyallarini o'qish uchun birinchi harakat bo'lib, portdagi kirish bitlarini o'qish mumkin.
Portga chiquvchi sinyallarni yozish (Write output signals to port): GPIO portiga chiquvchi sinyallarni yozish uchun, kerakli chiquvchi bitlarini o'zgartirish yordamida sinyallarni o'rnatingiz mumkin.
Xususiy konfiguratsiyalar sozlash (Set specific configurations): GPIO portining har bir pin uchun kerakli tegishlarni sozlash, misol uchun tarozida yoki kirish/chiqish sinyallarini sozlash, kirishni terishlarini o'zgartirish, ochiq yoki yopiq tegishlarini sozlash, uchun usullar mavjud.
Port ustunligini sozlash (Set port priority): GPIO portida bir nechta pinlar bo'lsa va ulardan biri yoki bir nechta pinlar bir xil vaqtda amalga oshirilishi talab etilsa, port ustunligini aniqlash va birinchi pinlar ustunligini berish mumkin.
Bu funktsiyalar HAL kutubxonasida mavjud bo'lishi mumkin. Amalga oshirish istalgan bo'lib, chip arxitekturasiga va foydalanishdagi mikrokontrollerda mavjud bo'lgan HAL versiyasiga bog'liq bo'ladi. Bu masala mahalliy HAL dokumentatsiyasiga murojaat qilib aniqlanishi mumkin.