0
STM32F4 검색이 있습니다. IAR embedded Workbench를 사용합니다. 나는이 키트를 처음 사용합니다. 나는 거리를 측정하고 싶다. 내 코드는 오류를주지 않는다. 거리는 항상 0입니다. 어떤 오류가있을 수 있습니까? 도와주세요. 덕분에 모두STM32F4 검색
#include "stm32f4_discovery.h"
#include "delay.h"
uint32_t Read_Distance(void);
void Init();
uint32_t distance ;
int main()
{
Init(); // initialisation de pin
SysTick_Init(); // pour pouvoire utiliser la fonction delay :)
while (1)
{
distance=Read_Distance();
delay_nms(100);
}
}
void Init()
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
GPIO_InitTypeDef gpioStructure;
gpioStructure.GPIO_Pin = GPIO_Pin_10;
gpioStructure.GPIO_Mode = GPIO_Mode_OUT;
gpioStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOD, &gpioStructure);
gpioStructure.GPIO_Pin = GPIO_Pin_11;
gpioStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_Init(GPIOD, &gpioStructure);
}
//Les Pins pour le Test sont PD10 (Trig) et PD11(echo)
uint32_t Read_Distance(void)
{
__IO uint8_t flag=0;
__IO uint32_t disTime=0;
GPIO_SetBits(GPIOD,GPIO_Pin_10);
delay_nus(10);
GPIO_ResetBits(GPIOD,GPIO_Pin_10);
while(flag == 0)
{
while(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_11) == SET)
{
disTime++;
flag = 1;
}
}
return disTime;
}
일관성있게 코드의 들여 쓰기를 편집했습니다. 모든 코드, 특히 게시하는 모든 코드에 대해 동일한 작업을 수행 할 것을 적극 권장합니다. 따라서 무한히 읽기가 쉽습니다. 또한 영어로 의견을 게시하십시오. 간단한 영어 설명이 정교한 프랑스어 설명보다 도움이됩니다. –