2025-11-11 7:41 AM - last edited on 2025-11-11 7:59 AM by Andrew Neil
I have an STM32F103 board call 野火STM32F103ZE_霸道开发板,i found enable FSMC clock will pull up PB7 GPIO to 3.26v , i try decrease my code ceaselessly to verify this bug, finaly it can reproduce bug easily like this
#include "stm32f10x.h"
int main (void)
{
//RCC->AHBENR |= 0x100//RCC_AHBPeriphClockCmd ( RCC_AHBPeriph_FSMC, ENABLE );
*( unsigned int * )0X40021014 |= ( (1) << 8);
}
void SystemInit(void)
{
// nothing in here
}Is this a problem specific to a single chip or a more general chip?
Solved! Go to Solution.
2025-11-12 7:30 AM
Excellent answer, thanks
1-Now I know how it works, it is diffcult to know without you answer, learn a lot.
so you can disable it by setting AFIO_MAPR2.FSMC_NADV (don't forget to enable AFIO clock in RCC before writing to its registers).
2-I try this way , but FSMC_NADV bit cat write to True, so PB7 always pullup when FSMC clock Enable.
2025-11-13 6:41 AM
Do you have AFIO clock enabled in RCC?
JW
2025-11-13 6:56 AM
Sure.
Besides,I get it fron Chinese forum,I think it may be a true bug.
2025-11-13 8:45 AM - edited 2025-11-13 8:48 AM
Interesting. I didn't know about this erratum.
It should apply only to STM32F103xC/D/E (see STM32F103xC/D/E errata) - as you said you have the 'F103ZE, that unfortunately applies there.
It appears that according to e.g. the larger STM32F103xF/xG errata, the problem has been fixed in those chips. I understand this won't help you with that particular board, sorry.
JW
2025-11-13 8:53 AM
I have checked my chip, it is STM32F103ZET6 same as the schematic, and checked it on the chip (forgot to post),
because I download the STM32F103xF/xG errata first.
2025-11-13 9:16 AM
No need to say sorry, I only realized this time that I should check the erratum rather of asking question.
Just like you see from nickname,Probably no one in my time zone is available to help at this hour.
Thank you for your expertise and passion.