完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
调试hcsr04的代码
.h文件中,定义一个结构体 typedef struct { float Distance; /*!< 用厘米测量传感器的距离*/ GPIO_TypeDef* ECHO_GPIOx; /*!< 指向用于 ECHO pin 的 GPIOx 端口的指针。仅供私人使用 */ uint16_t ECHO_GPIO_Pin; /*!<*/ GPIO_TypeDef* TRIGGER_GPIOx; /*!< 指向用于 TRIGGER pin 的 GPIOx 端口的指针。仅供私人使用 */ uint16_t TRIGGER_GPIO_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); .c文件 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) { GPIO_InitTypeDef GPIO_InitStructure; /* Save everything */ HCSR04->ECHO_GPIOx = ECHO_GPIOx; HCSR04->ECHO_GPIO_Pin = ECHO_GPIO_Pin; HCSR04->TRIGGER_GPIOx = TRIGGER_GPIOx; HCSR04->TRIGGER_GPIO_Pin = TRIGGER_GPIO_Pin; RCC_APB2PeriphClockCmd(HCSR04_CLK,ENABLE); /* Trigger pin */ GPIO_InitStructure.GPIO_Pin = HCSR04->TRIGGER_GPIO_Pin;//trigger发送电平引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(HCSR04->TRIGGER_GPIOx, &GPIO_InitStructure); GPIO_ResetBits(HCSR04->TRIGGER_GPIOx,HCSR04->TRIGGER_GPIO_Pin); /* Echo pin */ GPIO_InitStructure.GPIO_Pin = HCSR04->ECHO_GPIO_Pin;//echo返回电平引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOAtiNG; //浮空输入 GPIO_Init(HCSR04->ECHO_GPIOx, &GPIO_InitStructure); GPIO_ResetBits(HCSR04->ECHO_GPIOx,HCSR04->ECHO_GPIO_Pin); /*开始测量, 检查传感器是否工作正常 */ if (HCSR04_Read(HCSR04) >= 0) { /* Sensor OK */ return HCSR04_OK; } /* Sensor error */ return HCSR04_ERROR; } 主函数编辑如下 int main(void) { TM_HCSR04_t *hcsr04; //申明一个结构体指针 HCSR04_Init(hcsr04,HCSR04_PORT,HCSR04_ECHO,HCSR04_PORT,HCSR04_TRIG); for(;;) { length=HCSR04_Read(hcsr04); } } keil 5编辑无错误,问题是HCSR04_Init函数里结构体指针赋值无效,HCSR04_Init函数里的引脚初始化也没有反应。 若有知晓者,敬请告知,不胜感谢! |
|
相关推荐
1个回答
|
|
结构体的声明与定义是什么类型的,有没有使用const
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
489 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
498 浏览 0 评论
655 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1329 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
558 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11753 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 02:33 , Processed in 0.393306 second(s), Total 40, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号