FastPWM library, modified by benkatz
Dependents: WangBoard_MotorScience
Fork of FastPWM3 by
FastPWM_STM_TIM_PinOut.cpp
00001 #include "mbed.h" 00002 00003 #ifdef TARGET_NUCLEO_F303RE 00004 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { 00005 switch (pin) { 00006 // Channels 1 00007 case PC_0: case PB_8: case PB_9: case PA_6: case PA_8: case PB_4: case PB_5: case PA_2: case PC_6: case PA_12: case PB_14: case PB_15: 00008 // Channels 1N 00009 case PA_1: case PA_5: case PB_6: case PB_3: case PA_13: case PB_7: case PC_13: 00010 return &pwm->CCR1; 00011 00012 // Channels 2 00013 case PC_1: case PA_7: case PC_7: case PA_9: case PA_3: case PA_14: 00014 // Channels 2N 00015 case PB_0: 00016 return &pwm->CCR2; 00017 00018 // Channels 3 00019 case PA_10: case PC_2: case PC_8: 00020 // Channels 3N 00021 case PB_1: 00022 return &pwm->CCR3; 00023 00024 // Channels 4 00025 case PC_3: case PC_9: case PA_11: 00026 // Channels 4N 00027 00028 return &pwm->CCR4; 00029 } 00030 return NULL; 00031 } 00032 #endif 00033 00034 #ifdef TARGET_NUCLEO_F030R8 00035 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { 00036 switch (pin) { 00037 // Channels 1 00038 case PA_4: case PA_6: case PB_1: case PB_4: case PB_8: case PB_9: case PB_14: case PC_6: case PB_6: case PB_7: 00039 return &pwm->CCR1; 00040 00041 // Channels 2 00042 case PA_7: case PB_5: case PC_7: 00043 return &pwm->CCR2; 00044 00045 // Channels 3 00046 case PB_0: case PC_8: 00047 return &pwm->CCR3; 00048 00049 // Channels 4 00050 case PC_9: 00051 return &pwm->CCR4; 00052 } 00053 return NULL; 00054 } 00055 #endif 00056 00057 #if defined TARGET_NUCLEO_F401RE || defined TARGET_NUCLEO_F411RE || defined TARGET_NUCLEO_F446RE 00058 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { 00059 switch (pin) { 00060 // Channels 1 : PWMx/1 00061 case PA_0: case PA_5: case PA_6: case PA_8: case PA_15: case PB_4: case PB_6: case PC_6: case PA_7: case PB_13: 00062 return &pwm->CCR1; 00063 00064 // Channels 2 : PWMx/2 00065 case PA_1: case PA_9: case PB_3: case PB_5: case PB_7: case PC_7: case PB_0: case PB_14: 00066 return &pwm->CCR2; 00067 00068 // Channels 3 : PWMx/3 00069 case PA_2: case PA_10: case PB_8: case PB_10: case PC_8: case PB_1: case PB_15: 00070 return &pwm->CCR3; 00071 00072 // Channels 4 : PWMx/4 00073 case PA_3: case PA_11: case PB_9: case PC_9: 00074 return &pwm->CCR4; 00075 } 00076 return NULL; 00077 } 00078 #endif 00079 00080 #if defined TARGET_NUCLEO_F103RB 00081 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { 00082 switch (pin) { 00083 // Channels 1 : PWMx/1 00084 case PA_6: case PA_8: case PA_15: case PB_4: case PC_6: case PB_13: 00085 return &pwm->CCR1; 00086 00087 // Channels 2 : PWMx/2 00088 case PA_1: case PA_7: case PA_9: case PB_3: case PB_5: case PC_7: case PB_14: 00089 return &pwm->CCR2; 00090 00091 // Channels 3 : PWMx/3 00092 case PA_2: case PA_10: case PB_0: case PB_10: case PC_8: case PB_15: 00093 return &pwm->CCR3; 00094 00095 // Channels 4 : PWMx/4 00096 case PA_3: case PA_11: case PB_1: case PB_11: case PC_9: 00097 return &pwm->CCR4; 00098 } 00099 return NULL; 00100 } 00101 #endif 00102 00103 #ifdef TARGET_NUCLEO_F334R8 00104 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { 00105 switch (pin) { 00106 // Channels 1 00107 case PA_2: case PA_6: case PA_7: case PA_8: case PA_12: case PB_4: case PB_5: case PB_8: case PB_9: case PB_14: case PC_0: case PC_6: 00108 case PA_1: case PA_13: case PB_6: case PB_13: case PC_13: 00109 return &pwm->CCR1; 00110 00111 // Channels 2 00112 case PA_3: case PA_4: case PA_9: case PB_15: case PC_1: case PC_7: 00113 return &pwm->CCR2; 00114 00115 // Channels 3 00116 case PA_10: case PB_0: case PC_2: case PC_8: 00117 case PF_0: 00118 return &pwm->CCR3; 00119 00120 // Channels 4 00121 case PA_11: case PB_1: case PB_7: case PC_3: case PC_9: 00122 return &pwm->CCR4; 00123 } 00124 return NULL; 00125 } 00126 #endif 00127 00128 #if defined TARGET_NUCLEO_F072RB 00129 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { 00130 switch (pin) { 00131 // Channels 1 : PWMx/1 00132 case PA_2: case PA_6: case PA_4: case PA_7: case PA_8: case PB_1: case PB_4: case PB_8: case PB_9: case PB_14: case PC_6: 00133 // Channels 1N : PWMx/1N 00134 case PA_1: case PB_6: case PB_7: case PB_13: 00135 return &pwm->CCR1; 00136 00137 // Channels 2 : PWMx/2 00138 case PA_3: case PA_9: case PB_5: case PC_7: case PB_15: 00139 return &pwm->CCR2; 00140 00141 // Channels 3 : PWMx/3 00142 case PA_10: case PB_0: case PC_8: 00143 return &pwm->CCR3; 00144 00145 // Channels 4 : PWMx/4 00146 case PA_11: case PC_9: 00147 return &pwm->CCR4; 00148 } 00149 return NULL; 00150 } 00151 #endif
Generated on Sat Jul 16 2022 12:48:38 by 1.7.2