Forked FastPWM

Dependents:   Berekenen_motorhoek Encoder System_Identification Motor_PID_set_parameters ... more

Fork of FastPWM by Erik -

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers FastPWM_STM_TIM_PinOut.cpp Source File

FastPWM_STM_TIM_PinOut.cpp

00001 #include "mbed.h"
00002 
00003 #if defined (TARGET_NUCLEO_F030R8) || (TARGET_DISCO_F051R8)
00004 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00005     switch (pin) {
00006         // Channels 1
00007         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:
00008             return &pwm->CCR1;
00009             
00010         // Channels 2
00011         case PA_7: case PB_5: case PC_7:
00012             return &pwm->CCR2;
00013             
00014         // Channels 3
00015         case PB_0: case PC_8:
00016             return &pwm->CCR3;
00017             
00018         // Channels 4
00019         case PC_9:
00020             return &pwm->CCR4;
00021     }        
00022     return NULL;
00023 }
00024 #endif
00025 
00026 #if defined (TARGET_NUCLEO_F103RB) || (TARGET_DISCO_F100RB)
00027 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00028     switch (pin) {
00029         // Channels 1 : PWMx/1
00030         case PA_6: case PA_8: case PA_15: case PB_4: case PC_6: case PB_13:
00031             return &pwm->CCR1;
00032         
00033         // Channels 2 : PWMx/2
00034         case PA_1: case PA_7: case PA_9: case PB_3: case PB_5: case PC_7: case PB_14:
00035             return &pwm->CCR2;
00036             
00037         // Channels 3 : PWMx/3
00038         case PA_2: case PA_10: case PB_0: case PB_10: case PC_8: case PB_15:
00039             return &pwm->CCR3;
00040  
00041         // Channels 4 : PWMx/4
00042         case PA_3: case PA_11: case PB_1: case PB_11: case PC_9: 
00043             return &pwm->CCR4;
00044     }
00045     return NULL;
00046 }
00047 #endif
00048 
00049 #if defined TARGET_NUCLEO_F072RB
00050 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00051     switch (pin) {
00052         // Channels 1 : PWMx/1
00053         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:
00054         // Channels 1N : PWMx/1N
00055         case PA_1: case PB_6: case PB_7: case PB_13:
00056             return &pwm->CCR1;
00057         
00058         // Channels 2 : PWMx/2
00059         case PA_3: case PA_9: case PB_5: case PC_7: case PB_15:
00060             return &pwm->CCR2;
00061             
00062         // Channels 3 : PWMx/3
00063         case PA_10: case PB_0: case PC_8: 
00064             return &pwm->CCR3;
00065  
00066         // Channels 4 : PWMx/4
00067         case PA_11: case PC_9: 
00068             return &pwm->CCR4;
00069     }
00070     return NULL;
00071 }
00072 #endif
00073 
00074 
00075 
00076 #if defined (TARGET_NUCLEO_L152RE)
00077 __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) {
00078     switch (pin) {
00079         // Channels 1 : PWMx/1
00080         case PA_6:  case PB_4: case PB_12: case PB_13: case PC_6:
00081             return &pwm->CCR1;
00082         
00083         // Channels 2 : PWMx/2
00084         case PA_1: case PA_7: case PB_3: case PB_5: case PB_14: case PB_7: case PC_7:
00085             return &pwm->CCR2;
00086             
00087         // Channels 3 : PWMx/3
00088         case PA_2: case PB_0: case PB_8: case PB_10: case PC_8:
00089             return &pwm->CCR3;
00090  
00091         // Channels 4 : PWMx/4
00092         case PA_3: case PB_1:case PB_9: case PB_11: case PC_9: 
00093             return &pwm->CCR4;
00094         default:
00095             /* NOP */
00096             break;
00097     }
00098     return NULL;
00099 }
00100 #endif
00101 
00102