9 years, 5 months ago.

Error: Class "GPIO_TypeDef" has no member "BSRRH"

Good day,

Thank you for making the code available on mbed. I am trying to use it with my F411RE board, but I get the following errors:

Error: Class "GPIO_TypeDef" has no member "BSRRH" in "TFT_ILI9163C/TFT_ILI9163C_F411RE_DMA_IT.cpp", Line: 191, Col: 18
Error: Class "GPIO_TypeDef" has no member "BSRRL" in "TFT_ILI9163C/TFT_ILI9163C_F411RE_DMA_IT.cpp", Line: 195, Col: 18
Error: Class "GPIO_TypeDef" has no member "BSRRH" in "TFT_ILI9163C/TFT_ILI9163C_F411RE_DMA_IT.cpp", Line: 199, Col: 18
Error: Class "GPIO_TypeDef" has no member "BSRRL" in "TFT_ILI9163C/TFT_ILI9163C_F411RE_DMA_IT.cpp", Line: 203, Col: 18

What am I doing wrong?

Thank you

Question relating to:

A fork of https://github.com/sumotoy/TFT_ILI9163C ILI9163C, Nucleo F411RE, SPI, TFT

1 Answer

9 years, 5 months ago.

He uses direct register access to speed up the code. However in recent mbed version some register names for your device were changed. You can go back to an older revision of the mbed library and it should work again.

Ah, pity that library is non-generic :(

posted by Martin Kojtal 27 May 2015

Okay, I see BSRRL changed to BSRR and BSRRH was removed completely

posted by Pieter Kruger 28 May 2015

A "quick fix" would be to change TFT_ILI9163C.h to:

#if defined(TARGET_NUCLEO_F411RE)
//    #define __F411RE_SOFT__
//    #define __F411RE_DMA__
//    #define __F411RE_DMA_IT__
	#define __MBED_GENERIC__

It now compiles and runs, although the performance is slower. Not a perfect or ideal fix, but at least I can test the displays.

posted by Pieter Kruger 28 May 2015