32bits encoder counter using 16bits TIM and a 32bits software counter
Dependents: Asserv_mot Asserv_mot
Fork of Encoder_Nucleo_32_bits by
Nucleo_Encoder_16_bits.h@0:ebd170807e11, 2016-05-22 (annotated)
- Committer:
- kkoichy
- Date:
- Sun May 22 19:59:18 2016 +0000
- Revision:
- 0:ebd170807e11
- Child:
- 1:e82009479b5c
V1.0 :; - Objet Encoder_Nucleo_16_bits created, allowing 32bits encoder counting operation, based on a software 32bits counter, using a 16bits TIM with interrupt.; Based on the work of David Lowe
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kkoichy | 0:ebd170807e11 | 1 | #ifndef ENCODER_H |
kkoichy | 0:ebd170807e11 | 2 | #define ENCODER_H |
kkoichy | 0:ebd170807e11 | 3 | #include "mbed.h" |
kkoichy | 0:ebd170807e11 | 4 | |
kkoichy | 0:ebd170807e11 | 5 | void EncoderInit(TIM_Encoder_InitTypeDef * encoder, TIM_HandleTypeDef * timer, TIM_TypeDef * TIMx, uint32_t maxcount, uint32_t encmode); |
kkoichy | 0:ebd170807e11 | 6 | |
kkoichy | 0:ebd170807e11 | 7 | |
kkoichy | 0:ebd170807e11 | 8 | namespace mbed{ |
kkoichy | 0:ebd170807e11 | 9 | |
kkoichy | 0:ebd170807e11 | 10 | class Nucleo_Encoder_16_bits { |
kkoichy | 0:ebd170807e11 | 11 | |
kkoichy | 0:ebd170807e11 | 12 | public : |
kkoichy | 0:ebd170807e11 | 13 | Nucleo_Encoder_16_bits(TIM_TypeDef * _TIM, uint32_t _maxcount, uint32_t _encmode); |
kkoichy | 0:ebd170807e11 | 14 | Nucleo_Encoder_16_bits(TIM_Encoder_InitTypeDef * _encoder, TIM_HandleTypeDef * _timer, TIM_TypeDef * _TIM, uint32_t _maxcount, uint32_t _encmode); |
kkoichy | 0:ebd170807e11 | 15 | int32_t GetCounter(); |
kkoichy | 0:ebd170807e11 | 16 | TIM_HandleTypeDef* GetTimer(); |
kkoichy | 0:ebd170807e11 | 17 | |
kkoichy | 0:ebd170807e11 | 18 | private : |
kkoichy | 0:ebd170807e11 | 19 | |
kkoichy | 0:ebd170807e11 | 20 | |
kkoichy | 0:ebd170807e11 | 21 | protected : |
kkoichy | 0:ebd170807e11 | 22 | TIM_Encoder_InitTypeDef encoder; |
kkoichy | 0:ebd170807e11 | 23 | TIM_HandleTypeDef timer; |
kkoichy | 0:ebd170807e11 | 24 | TIM_TypeDef * TIM; |
kkoichy | 0:ebd170807e11 | 25 | |
kkoichy | 0:ebd170807e11 | 26 | }; |
kkoichy | 0:ebd170807e11 | 27 | |
kkoichy | 0:ebd170807e11 | 28 | }// namespace mbed |
kkoichy | 0:ebd170807e11 | 29 | |
kkoichy | 0:ebd170807e11 | 30 | #endif |