cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F100RC Missing TIM12-17

ankuch
Associate II
Posted on March 28, 2015 at 17:59

Hello.

I try enable TIM12-17 but TIM12EN-TIM17EN not set to 1 (always 0) in APB1ENR and APB2ENR.

?an you help me?

Thanks.

#stm32f100rc
13 REPLIES 13
Posted on March 28, 2015 at 20:43

F100RC or F103RC? Titles appear to have changed.

Are you sure the Value Line parts actually have these timers? Usually they are stripped down function devices.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
re.wolff9
Senior
Posted on March 28, 2015 at 21:02

I just checked. 12, 13, 14 do not exist in the F100, 15, 16, 17 do exist. So are you sure you tried 15,16, and 17?

ankuch
Associate II
Posted on March 29, 2015 at 05:41

F100RC.

The documentation states 11 timers:

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00212417.pdf

Include file for F100RC stm32f100xe.h

#define TIM12_BASE            (APB1PERIPH_BASE + 0x1800)

#define TIM13_BASE            (APB1PERIPH_BASE + 0x1C00)

#define TIM14_BASE            (APB1PERIPH_BASE + 0x2000)

#define TIM15_BASE            (APB2PERIPH_BASE + 0x4000)

#define TIM16_BASE            (APB2PERIPH_BASE + 0x4400)

#define TIM17_BASE            (APB2PERIPH_BASE + 0x4800)

I used to select MCU STM32CubeMX and there for F100RC 11 timers.

ankuch
Associate II
Posted on March 29, 2015 at 05:57

I try to set TIM15EN-TIM17EN in RCC_APB2ENR but zeroed.

Which F100 you use? RC?

Thanks.

re.wolff9
Senior
Posted on March 29, 2015 at 11:25

I'm sorry, but I don't have an STM32F100. I'm just looking at the datasheet. See table 2.2.15 of the STM32F100 datasheet, docid 16455. 

On the other hand, the ''12 timers'' in the quick overview might be an error: In table 2 there are  only 5 or 6 timers. then 2.2.15 lists 1 advanced and 6 general purpose timers. 

The base address for say ''TIM12'' is constant across the STM32 family. If your device does not have that timer, the memory region is marked as reserved. So this makes it easy for the headers to define the base address even if your device doesn't have it. As long as your software doesn't use peripherals that don't exist on your device, there is no problem..... 

ankuch
Associate II
Posted on March 29, 2015 at 13:04

STM32F100 datasheet, docid 16455 for STM32F100x4 STM32F100x6 STM32F100x8STM32F100xB.

My MCU is STM32F100R

C

 - datasheet  Doc ID 15081 Rev 7.

re.wolff9
Senior
Posted on March 29, 2015 at 13:52

Ok. You're right. I'm sorry I looked at the wrong datasheet. 

I'm used to the newer chips where the amount of flash does not influence the peripherals that are installed, or said another way where the amount of peripherals warrants a new chip number. 

Posted on March 29, 2015 at 15:01

Are you sure of the source/markings of this part?

What numbers do you see from this?

unsigned short *Memory = (unsigned short *)0x1FFFF7E0;
unsigned long *Unique = (unsigned long *)0x1FFFF7E8;
printf(''%04X %04
X'', Memory[0], Memory[1]);
printf(''%08X %08X %08
X'', Unique[0], Unique[1], Unique[2]);

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
ankuch
Associate II
Posted on March 29, 2015 at 16:58

0x1FFFF7E0  FFFF0100 256 KB

0x1FFFF7E8  05D0FF34 35355341 43028321

0xE0042000  10036414 0x414, ''High-density''