ในไลบรารีอุปกรณ์ต่อพ่วง STM32 มาตรฐานเราจำเป็นต้องกำหนดค่า GPIO
แต่มีฟังก์ชั่น 3 ตัวที่ฉันไม่แน่ใจว่าจะกำหนดค่าได้อย่างไร
- GPIO_InitStructure.GPIO_Speed
- GPIO_InitStructure.GPIO_OType
- GPIO_InitStructure.GPIO_PuPd
ในGPIO_Speedมีการตั้งค่า 4 แบบให้เลือก
GPIO_Speed_2MHz /*!< Low speed */
GPIO_Speed_25MHz /*!< Medium speed */
GPIO_Speed_50MHz /*!< Fast speed */
GPIO_Speed_100MHz
ฉันจะรู้ได้อย่างไรว่าฉันจะเลือกความเร็วไหน มีข้อดีหรือข้อเสียในการใช้ความเร็วสูงหรือความเร็วต่ำหรือไม่? (เช่น: การใช้พลังงาน?)
ในGPIO_OTypeมีการตั้งค่า 2 แบบให้เลือก
GPIO_OType_PP // Push pull
GPIO_OType_OD // Open drain
จะรู้ได้อย่างไรว่าควรเลือกแบบไหน? และท่อระบายน้ำแบบเปิดและดันแบบดึงคืออะไร?
ในGPIO_PuPdมีการตั้งค่า 3 แบบให้เลือก
GPIO_PuPd_NOPULL // No pull
GPIO_PuPd_UP // Pull up
GPIO_PuPd_DOWN // Pull down
ฉันคิดว่าการตั้งค่านี้เกี่ยวข้องกับการตั้งค่าเริ่มต้นของ push pull