File tree Expand file tree Collapse file tree
sduino/hardware/sduino/stm8/cores/sduino Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -249,16 +249,23 @@ void alternateFunction(uint8_t val);
249249#define PL 12
250250#endif
251251
252- #define NOT_ON_TIMER 0
253- #define TIMER11 1
254- #define TIMER12 2
255- #define TIMER13 3
256- #define TIMER14 4
257- #define TIMER21 5
258- #define TIMER22 6
259- #define TIMER23 7
260- #define TIMER31 8
261- #define TIMER32 9
252+ enum {
253+ NOT_ON_TIMER = 0 ,
254+ #ifdef NEED_TIMER_11_12
255+ TIMER11 ,
256+ TIMER12 ,
257+ #endif
258+ TIMER13 ,
259+ TIMER14 ,
260+ TIMER21 ,
261+ TIMER22 ,
262+ TIMER23 ,
263+ #ifdef NEED_TIMER_31_32
264+ TIMER31 ,
265+ TIMER32 ,
266+ #endif
267+ NUM_TIMERS
268+ };
262269
263270
264271//FIXME#include "WCharacter.h"
Original file line number Diff line number Diff line change 3434 * at runtime.
3535 */
3636typedef unsigned char * uc_p ;
37+
3738/* timer capture/compare mode register to control PWM mode */
38- const uc_p ccmrx [7 ]= {
39+ const uc_p ccmrx [NUM_TIMERS ]= {
40+ #ifdef NEED_TIMER_11_12
3941 TIM1 -> CCMR1 , /* for TIMER11 */
4042 TIM1 -> CCMR2 , /* for TIMER12 */
43+ #endif
4144 TIM1 -> CCMR3 , /* for TIMER13 */
4245 TIM1 -> CCMR4 , /* for TIMER14 */
4346 TIM2 -> CCMR1 , /* for TIMER21 */
4447 TIM2 -> CCMR2 , /* for TIMER22 */
45- TIM2 -> CCMR3 /* for TIMER23 */
48+ TIM2 -> CCMR3 , /* for TIMER23 */
49+ #ifdef NEED_TIMER_31_32
50+ TIM3 -> CCMR1 , /* for TIMER31 */
51+ TIM3 -> CCMR2 /* for TIMER32 */
52+ #endif
4653};
4754
4855
@@ -164,7 +171,7 @@ void pinMode(uint8_t pin, uint8_t mode)
164171 */
165172static void turnOffPWM (uint8_t timer )
166173{
167- * ((unsigned char * ) ccmrx [timer - TIMER11 ]) &= ~TIM1_CCMR_OCM ;
174+ * ((unsigned char * ) ccmrx [timer - 1 ]) &= ~TIM1_CCMR_OCM ;
168175}
169176
170177
You can’t perform that action at this time.
0 commit comments