Hello!In the program writen in Keil uVision 4, I decided to redo some of the functions and added the structure:
typedef struct { GPIO_TypeDef * GPIOx; uint16_t PINx; }GPIO_PINdef;
Previously, the function looked like this:
void GPIO_InitPIN (GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin_x)
Now it looks like this:
void GPIO_InitPIN (GPIO_PINdef GPIOx)
So here is the question, calling a new function now works both in the old and new way, i.e. to call a function in this form
GPIO_InitPIN(GPIOB, GPIO_Pin_8)
and in this form
GPIO_PINdef SPI_CS; GPIO_InitPIN (SPI_CS);
the compiler does not swear and the program runs correctly.
But everything was fine until I tried to fix "warning" during compilation, namely "function" GPIO_InitPIN "declared implicitly". I copy the function description into the header file and after that everything stops working:
void GPIO_InitPIN (GPIO_PINdef x);
- adding this description, swears that there are too many arguments when calling this function
How can this function be written in the header?
View all questions in Cortex-M / M-Profile forum