Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
FastPWM/Device/FastPWM_STM_TIM_PinOut.cpp@1:b44f69eb07c4, 2021-04-15 (annotated)
- Committer:
- qmaker
- Date:
- Thu Apr 15 06:44:26 2021 +0000
- Revision:
- 1:b44f69eb07c4
Version asservissement avec codeurs et BT
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
qmaker | 1:b44f69eb07c4 | 1 | #include "mbed.h" |
qmaker | 1:b44f69eb07c4 | 2 | |
qmaker | 1:b44f69eb07c4 | 3 | #if defined (TARGET_NUCLEO_F030R8) || (TARGET_DISCO_F051R8) |
qmaker | 1:b44f69eb07c4 | 4 | __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { |
qmaker | 1:b44f69eb07c4 | 5 | switch (pin) { |
qmaker | 1:b44f69eb07c4 | 6 | // Channels 1 |
qmaker | 1:b44f69eb07c4 | 7 | 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: |
qmaker | 1:b44f69eb07c4 | 8 | return &pwm->CCR1; |
qmaker | 1:b44f69eb07c4 | 9 | |
qmaker | 1:b44f69eb07c4 | 10 | // Channels 2 |
qmaker | 1:b44f69eb07c4 | 11 | case PA_7: case PB_5: case PC_7: |
qmaker | 1:b44f69eb07c4 | 12 | return &pwm->CCR2; |
qmaker | 1:b44f69eb07c4 | 13 | |
qmaker | 1:b44f69eb07c4 | 14 | // Channels 3 |
qmaker | 1:b44f69eb07c4 | 15 | case PB_0: case PC_8: |
qmaker | 1:b44f69eb07c4 | 16 | return &pwm->CCR3; |
qmaker | 1:b44f69eb07c4 | 17 | |
qmaker | 1:b44f69eb07c4 | 18 | // Channels 4 |
qmaker | 1:b44f69eb07c4 | 19 | case PC_9: |
qmaker | 1:b44f69eb07c4 | 20 | return &pwm->CCR4; |
qmaker | 1:b44f69eb07c4 | 21 | } |
qmaker | 1:b44f69eb07c4 | 22 | return NULL; |
qmaker | 1:b44f69eb07c4 | 23 | } |
qmaker | 1:b44f69eb07c4 | 24 | #endif |
qmaker | 1:b44f69eb07c4 | 25 | |
qmaker | 1:b44f69eb07c4 | 26 | #if defined (TARGET_NUCLEO_F103RB) || (TARGET_DISCO_F100RB) |
qmaker | 1:b44f69eb07c4 | 27 | __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { |
qmaker | 1:b44f69eb07c4 | 28 | switch (pin) { |
qmaker | 1:b44f69eb07c4 | 29 | // Channels 1 : PWMx/1 |
qmaker | 1:b44f69eb07c4 | 30 | case PA_6: case PA_8: case PA_15: case PB_4: case PC_6: case PB_13: |
qmaker | 1:b44f69eb07c4 | 31 | return &pwm->CCR1; |
qmaker | 1:b44f69eb07c4 | 32 | |
qmaker | 1:b44f69eb07c4 | 33 | // Channels 2 : PWMx/2 |
qmaker | 1:b44f69eb07c4 | 34 | case PA_1: case PA_7: case PA_9: case PB_3: case PB_5: case PC_7: case PB_14: |
qmaker | 1:b44f69eb07c4 | 35 | return &pwm->CCR2; |
qmaker | 1:b44f69eb07c4 | 36 | |
qmaker | 1:b44f69eb07c4 | 37 | // Channels 3 : PWMx/3 |
qmaker | 1:b44f69eb07c4 | 38 | case PA_2: case PA_10: case PB_0: case PB_10: case PC_8: case PB_15: |
qmaker | 1:b44f69eb07c4 | 39 | return &pwm->CCR3; |
qmaker | 1:b44f69eb07c4 | 40 | |
qmaker | 1:b44f69eb07c4 | 41 | // Channels 4 : PWMx/4 |
qmaker | 1:b44f69eb07c4 | 42 | case PA_3: case PA_11: case PB_1: case PB_11: case PC_9: |
qmaker | 1:b44f69eb07c4 | 43 | return &pwm->CCR4; |
qmaker | 1:b44f69eb07c4 | 44 | } |
qmaker | 1:b44f69eb07c4 | 45 | return NULL; |
qmaker | 1:b44f69eb07c4 | 46 | } |
qmaker | 1:b44f69eb07c4 | 47 | #endif |
qmaker | 1:b44f69eb07c4 | 48 | |
qmaker | 1:b44f69eb07c4 | 49 | #if defined TARGET_NUCLEO_F072RB |
qmaker | 1:b44f69eb07c4 | 50 | __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { |
qmaker | 1:b44f69eb07c4 | 51 | switch (pin) { |
qmaker | 1:b44f69eb07c4 | 52 | // Channels 1 : PWMx/1 |
qmaker | 1:b44f69eb07c4 | 53 | 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: |
qmaker | 1:b44f69eb07c4 | 54 | // Channels 1N : PWMx/1N |
qmaker | 1:b44f69eb07c4 | 55 | case PA_1: case PB_6: case PB_7: case PB_13: |
qmaker | 1:b44f69eb07c4 | 56 | return &pwm->CCR1; |
qmaker | 1:b44f69eb07c4 | 57 | |
qmaker | 1:b44f69eb07c4 | 58 | // Channels 2 : PWMx/2 |
qmaker | 1:b44f69eb07c4 | 59 | case PA_3: case PA_9: case PB_5: case PC_7: case PB_15: |
qmaker | 1:b44f69eb07c4 | 60 | return &pwm->CCR2; |
qmaker | 1:b44f69eb07c4 | 61 | |
qmaker | 1:b44f69eb07c4 | 62 | // Channels 3 : PWMx/3 |
qmaker | 1:b44f69eb07c4 | 63 | case PA_10: case PB_0: case PC_8: |
qmaker | 1:b44f69eb07c4 | 64 | return &pwm->CCR3; |
qmaker | 1:b44f69eb07c4 | 65 | |
qmaker | 1:b44f69eb07c4 | 66 | // Channels 4 : PWMx/4 |
qmaker | 1:b44f69eb07c4 | 67 | case PA_11: case PC_9: |
qmaker | 1:b44f69eb07c4 | 68 | return &pwm->CCR4; |
qmaker | 1:b44f69eb07c4 | 69 | } |
qmaker | 1:b44f69eb07c4 | 70 | return NULL; |
qmaker | 1:b44f69eb07c4 | 71 | } |
qmaker | 1:b44f69eb07c4 | 72 | #endif |
qmaker | 1:b44f69eb07c4 | 73 | |
qmaker | 1:b44f69eb07c4 | 74 | |
qmaker | 1:b44f69eb07c4 | 75 | |
qmaker | 1:b44f69eb07c4 | 76 | #if defined (TARGET_NUCLEO_L152RE) |
qmaker | 1:b44f69eb07c4 | 77 | __IO uint32_t* getChannel(TIM_TypeDef* pwm, PinName pin) { |
qmaker | 1:b44f69eb07c4 | 78 | switch (pin) { |
qmaker | 1:b44f69eb07c4 | 79 | // Channels 1 : PWMx/1 |
qmaker | 1:b44f69eb07c4 | 80 | case PA_6: case PB_4: case PB_12: case PB_13: case PC_6: |
qmaker | 1:b44f69eb07c4 | 81 | return &pwm->CCR1; |
qmaker | 1:b44f69eb07c4 | 82 | |
qmaker | 1:b44f69eb07c4 | 83 | // Channels 2 : PWMx/2 |
qmaker | 1:b44f69eb07c4 | 84 | case PA_1: case PA_7: case PB_3: case PB_5: case PB_14: case PB_7: case PC_7: |
qmaker | 1:b44f69eb07c4 | 85 | return &pwm->CCR2; |
qmaker | 1:b44f69eb07c4 | 86 | |
qmaker | 1:b44f69eb07c4 | 87 | // Channels 3 : PWMx/3 |
qmaker | 1:b44f69eb07c4 | 88 | case PA_2: case PB_0: case PB_8: case PB_10: case PC_8: |
qmaker | 1:b44f69eb07c4 | 89 | return &pwm->CCR3; |
qmaker | 1:b44f69eb07c4 | 90 | |
qmaker | 1:b44f69eb07c4 | 91 | // Channels 4 : PWMx/4 |
qmaker | 1:b44f69eb07c4 | 92 | case PA_3: case PB_1:case PB_9: case PB_11: case PC_9: |
qmaker | 1:b44f69eb07c4 | 93 | return &pwm->CCR4; |
qmaker | 1:b44f69eb07c4 | 94 | default: |
qmaker | 1:b44f69eb07c4 | 95 | /* NOP */ |
qmaker | 1:b44f69eb07c4 | 96 | break; |
qmaker | 1:b44f69eb07c4 | 97 | } |
qmaker | 1:b44f69eb07c4 | 98 | return NULL; |
qmaker | 1:b44f69eb07c4 | 99 | } |
qmaker | 1:b44f69eb07c4 | 100 | #endif |
qmaker | 1:b44f69eb07c4 | 101 | |
qmaker | 1:b44f69eb07c4 | 102 |