The initialization function (GPIO_Init) provides an interface for configuring individual port bits. The remaining functions provide interfaces for reading and writing (also setting and resetting) both individual bits and the 16 port bits in parallel.
We use the standard peripheral library functions throughout this book. There is a significant downside to using this library – the modules are
huge. The GPIO module stm32f10x_gpio.o when compiled with parameter checking is 4K where a simple application might use a few 100 bytes of custom