1
私はHALライブラリでstm32f4xxを使用していますが、私はこのようないくつかのポートを設定している:可能関数にstm32f4xxプラットフォームで定義されたポートを設定するための関数を作成する方法は?
#define Led1 GPIO_PIN_1
#define Led1_Port GPIOC
#define Led2 GPIO_PIN_2
#define Led2_PoRT GPIOE
GPIO_InitStruct.Pin = Led1;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(Led1_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = Led2;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(Led2_Port, &GPIO_InitStruct);
私は上記のコード(ないもちろんのdefine
複数可)を移動したいの上記とまったく同じ方法でポートを呼び出して設定します。
#define Led1 GPIO_PIN_1
#define Led1_Port GPIOC
#define Led2 GPIO_PIN_2
#define Led2_PoRT GPIOE
void GPIOConfig(*Pin,GPIO_TypeDef *Port)
{
GPIO_InitStruct.Pin = &Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(&Port, &GPIO_InitStruct);
}
// Calling the configuration function
GPIOConfig(Led1,Led1_Port);
GPIOConfig(Led2,Led2_Port);
何らかの理由で、何らかの理由でポートが機能しません。
:また、あなたはまた、あなたがHAL_GPIO_Init(およびないポインタのアドレス)に渡したいものですポインタとしてのポートを渡している。
そしてのように呼び出す必要があります本当に意味をなさないので、問題をよりよく解説してみてください。 –
よろしくお願いします。固定されています。私は関数を作成したいと思います。定義したポートとピンを関数 –
で使用したいのですが、修正されました。 – rbaleksandar