.H文件中定義結構體如下
typedef struct {
float Distance; /*!< 用厘米測量傳感器的距離*/
GPIO_TypeDef* ECHO_GPIOx; /*!< 指向用于 ECHO port /
uint16_t ECHO_GPIO_Pin; /!< ECHO Pin /
GPIO_TypeDef TRIGGER_GPIOx; /*!< 指向用于 TRIGGER port /
uint16_t TRIGGER_GPIO_Pin; /!< TRIG Pin */
} TM_HCSR04_t; 函數申明如下:
uint8_t HCSR04_Init( TM_HCSR04_t *HCSR04 , GPIO_TypeDef ECHO_GPIOx, uint16_t ECHO_GPIO_Pin, GPIO_TypeDef* TRIGGER_GPIOx, uint16_t TRIGGER_GPIO_Pin); float HCSR04_Read(TM_HCSR04_t *HCSR04); 主函數如下:
int main(void)
{
float result=0;
TM_HCSR04_t *HCSR04_1; //定義結構體指針
HCSR04_Init(HCSR04_1,echo_gpio,echo_pin,trig_gpio,trig_pin);//初始化賦值
for(;;)
{
result=HCSR04_Read( HCSR04_1 ); //讀值
printf( "length is %f",result );
}
} 編譯無錯誤,就是TM_HCSR04_Init函數中結構體指針作為函數參數無法賦值,如有知曉者,還望不吝賜教,萬分感謝
|