 Ok, because in our first example we work with the GPIO and I think now is a good time to a little bit rest from the RCC. We will talk about the RCC a little bit later when I explain more and more different stuff. But now we can look into the GPIO on the GPIO pathway which are the general purpose input-outputs. It's control all the pins which we have on the STM32 that I think it's most used periphery ever on the STM32s. Definitely we use this periphery once when we use the toggling LED but I think it's better to go deeper and learn how to work with this periphery. Ok, definitely this configuration of this periphery is done with the structures. First you need to tell how you want to tell to the microcontroller how you want to configure the pin. Because there is a lot of pins you need to specify which pin, what will be the behavior and the other other parameters. For this in the QPMIX we have some structures. These structures are usually in the H files. You can see on the slide there is the structure for the initialization of the GPIO. There are a few parameters, definitely which pin you want to configure. What will be mode of this pin? It will be output input. If you want to use the pull-up or pull-down resistors, what will be the speed of this pin and or if this pin will cooperate with the different IP like the USART or for example SPI. This everything you need to configure. In the first project this everything was done in the QPMIX. Ok, I will go first through the modes. The GPIO can work in the few modes usually as the output in the push-pull mode or the output in the open drain mode or can work as an input or in the analog mode or in the alternate function as a push-pull or in the alternate function as in the output drain mode. These are the basic modes. Then you can also use the interconnection and trigger with this pin also the interrupt. The interrupts can be rack on the on the raising edges, following edges or the both edges or also you can use the event. Event not triggers the interrupt. It's the same behavior as the interrupt mode but not triggers directly the interrupt only notifies the chord that something something's happened it's visible in the registers you need to read this on your own. The pull option is usually you can add the pull up resistor pull down resistor or no resistor. The speed the speed change the skew rate of the of the edges and also the faster edges the lower skew rate also increase the noise which creates the the microcontroller then in case that we for example toggling with the LED then for us is best option to have to have low speed but in case that you're using the the SPI on the 45 megahertz speed definitely you must set the high speed otherwise your data may be corrupted on the on the reception side. And the alternate function you need to decide which alternate function will be used for this pin in case that you select the alternate mode in case you don't have alternate mode you don't carry about this this option and then we have the the API's definitely the basic API is the it's usually starting with the word hl underscore name of the pay-free in our case it will be GPO and then is worth of the of the functionality the basic functionality is the init and the init init initialize the pin how we want the init the init size the pin and then we can found also in the GPO.C the other other functions like the read pin write pin or toggle pin which we use in the in our first lab then we can look into our project to see everything on our own eyes