mirror of
https://github.com/odriverobotics/ODrive.git
synced 2026-08-21 15:47:40 +08:00
47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "gpio.h"
|
|
constexpr GPIO_TypeDef* get_gpio_port_by_pin(uint16_t GPIO_pin){
|
|
switch(GPIO_pin){
|
|
case 1: return GPIO_1_GPIO_Port; break;
|
|
case 2: return GPIO_2_GPIO_Port; break;
|
|
case 3: return GPIO_3_GPIO_Port; break;
|
|
case 4: return GPIO_4_GPIO_Port; break;
|
|
#ifdef GPIO_5_GPIO_Port
|
|
case 5: return GPIO_5_GPIO_Port; break;
|
|
#endif
|
|
#ifdef GPIO_6_GPIO_Port
|
|
case 6: return GPIO_6_GPIO_Port; break;
|
|
#endif
|
|
#ifdef GPIO_7_GPIO_Port
|
|
case 7: return GPIO_7_GPIO_Port; break;
|
|
#endif
|
|
#ifdef GPIO_8_GPIO_Port
|
|
case 8: return GPIO_8_GPIO_Port; break;
|
|
#endif
|
|
default: return GPIO_1_GPIO_Port;
|
|
}
|
|
}
|
|
|
|
constexpr uint16_t get_gpio_pin_by_pin(uint16_t GPIO_pin){
|
|
switch(GPIO_pin){
|
|
case 1: return GPIO_1_Pin; break;
|
|
case 2: return GPIO_2_Pin; break;
|
|
case 3: return GPIO_3_Pin; break;
|
|
case 4: return GPIO_4_Pin; break;
|
|
#ifdef GPIO_5_Pin
|
|
case 5: return GPIO_5_Pin; break;
|
|
#endif
|
|
#ifdef GPIO_6_Pin
|
|
case 6: return GPIO_6_Pin; break;
|
|
#endif
|
|
#ifdef GPIO_7_Pin
|
|
case 7: return GPIO_7_Pin; break;
|
|
#endif
|
|
#ifdef GPIO_8_Pin
|
|
case 8: return GPIO_8_Pin; break;
|
|
#endif
|
|
default: return GPIO_1_Pin;
|
|
}
|
|
}
|