parent
5ed416bc55
commit
c96a1e3f0d
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -5,3 +5,6 @@ MDK-ARM/DebugConfig
|
|||
MDK-ARM/CAR.uvguix.*
|
||||
MDK-ARM/startup_stm32f103xb.lst
|
||||
MDK-ARM/RTE
|
||||
|
||||
build/
|
||||
cmake/
|
15
CAR.ioc
15
CAR.ioc
|
@ -92,9 +92,10 @@ PA1.PinState=GPIO_PIN_SET
|
|||
PA1.Signal=GPIO_Output
|
||||
PA10.Mode=Asynchronous
|
||||
PA10.Signal=USART1_RX
|
||||
PA12.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
PA12.GPIO_Label=SDA_C_EXTI12
|
||||
PA12.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
PA12.GPIO_Label=Echo
|
||||
PA12.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_RISING_FALLING
|
||||
PA12.GPIO_PuPd=GPIO_PULLDOWN
|
||||
PA12.Locked=true
|
||||
PA12.Signal=GPXTI12
|
||||
PA13.Mode=Serial_Wire
|
||||
|
@ -102,7 +103,7 @@ PA13.Signal=SYS_JTMS-SWDIO
|
|||
PA14.Mode=Serial_Wire
|
||||
PA14.Signal=SYS_JTCK-SWCLK
|
||||
PA15.GPIOParameters=GPIO_Speed,GPIO_Label
|
||||
PA15.GPIO_Label=SCL_C
|
||||
PA15.GPIO_Label=Trig
|
||||
PA15.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||
PA15.Locked=true
|
||||
PA15.Signal=GPIO_Output
|
||||
|
@ -167,8 +168,8 @@ ProjectManager.BackupPrevious=false
|
|||
ProjectManager.CompilerOptimize=6
|
||||
ProjectManager.ComputerToolchain=false
|
||||
ProjectManager.CoupleFile=true
|
||||
ProjectManager.CustomerFirmwarePackage=..\\stm32\\STM32Cube_FW_F1_V1.8.0
|
||||
ProjectManager.DefaultFWLocation=false
|
||||
ProjectManager.CustomerFirmwarePackage=
|
||||
ProjectManager.DefaultFWLocation=true
|
||||
ProjectManager.DeletePrevious=true
|
||||
ProjectManager.DeviceId=STM32F103C8Tx
|
||||
ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.5
|
||||
|
@ -176,7 +177,7 @@ ProjectManager.FreePins=false
|
|||
ProjectManager.HalAssertFull=false
|
||||
ProjectManager.HeapSize=0x200
|
||||
ProjectManager.KeepUserCode=true
|
||||
ProjectManager.LastFirmware=false
|
||||
ProjectManager.LastFirmware=true
|
||||
ProjectManager.LibraryCopy=1
|
||||
ProjectManager.MainLocation=Core/Src
|
||||
ProjectManager.NoMain=false
|
||||
|
@ -185,7 +186,7 @@ ProjectManager.ProjectBuild=false
|
|||
ProjectManager.ProjectFileName=CAR.ioc
|
||||
ProjectManager.ProjectName=CAR
|
||||
ProjectManager.ProjectStructure=
|
||||
ProjectManager.RegisterCallBack=
|
||||
ProjectManager.RegisterCallBack=TIM
|
||||
ProjectManager.StackSize=0x400
|
||||
ProjectManager.TargetToolchain=MDK-ARM V5.32
|
||||
ProjectManager.ToolChainLocation=
|
||||
|
|
|
@ -3,6 +3,13 @@
|
|||
|
||||
#include "main.h"
|
||||
|
||||
uint16_t sonar(void);
|
||||
extern uint32_t sonor_distance; // 测量出的距离,单位mm
|
||||
extern uint8_t sonor_state; // 测距状态变量,0:未测量,1:正在测量,2:已测量
|
||||
|
||||
void HC_SR04_Init(void);
|
||||
uint32_t sonar_mm(void);
|
||||
|
||||
// 测距完毕回调,执行完自定义任务后将sonor_state置0
|
||||
void Sonar_CP_Callback();
|
||||
|
||||
#endif
|
||||
|
|
|
@ -71,11 +71,11 @@ void Error_Handler(void);
|
|||
#define MPU6050_SCL_GPIO_Port GPIOB
|
||||
#define MPU6050_SDA_Pin GPIO_PIN_11
|
||||
#define MPU6050_SDA_GPIO_Port GPIOB
|
||||
#define SDA_C_EXTI12_Pin GPIO_PIN_12
|
||||
#define SDA_C_EXTI12_GPIO_Port GPIOA
|
||||
#define SDA_C_EXTI12_EXTI_IRQn EXTI15_10_IRQn
|
||||
#define SCL_C_Pin GPIO_PIN_15
|
||||
#define SCL_C_GPIO_Port GPIOA
|
||||
#define Echo_Pin GPIO_PIN_12
|
||||
#define Echo_GPIO_Port GPIOA
|
||||
#define Echo_EXTI_IRQn EXTI15_10_IRQn
|
||||
#define Trig_Pin GPIO_PIN_15
|
||||
#define Trig_GPIO_Port GPIOA
|
||||
#define R_FORWARD_Pin GPIO_PIN_4
|
||||
#define R_FORWARD_GPIO_Port GPIOB
|
||||
#define R_BACKWARD_Pin GPIO_PIN_5
|
||||
|
|
|
@ -152,7 +152,7 @@
|
|||
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
|
||||
#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
|
||||
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
|
||||
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
|
||||
#define USE_HAL_TIM_REGISTER_CALLBACKS 1U /* TIM register callback disabled */
|
||||
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
|
||||
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
|
||||
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
|
||||
|
|
|
@ -53,7 +53,7 @@ void MX_GPIO_Init(void)
|
|||
HAL_GPIO_WritePin(GPIOA, FM_K2_POWERC_Pin|FAN_GS_Pin, GPIO_PIN_SET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(SCL_C_GPIO_Port, SCL_C_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOB, R_FORWARD_Pin|R_BACKWARD_Pin|L_BACKWARD_Pin|L_FORWARD_Pin, GPIO_PIN_RESET);
|
||||
|
@ -66,17 +66,17 @@ void MX_GPIO_Init(void)
|
|||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = SDA_C_EXTI12_Pin;
|
||||
GPIO_InitStruct.Pin = Echo_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(SDA_C_EXTI12_GPIO_Port, &GPIO_InitStruct);
|
||||
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
||||
HAL_GPIO_Init(Echo_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = SCL_C_Pin;
|
||||
GPIO_InitStruct.Pin = Trig_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(SCL_C_GPIO_Port, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(Trig_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PBPin PBPin PBPin PBPin */
|
||||
GPIO_InitStruct.Pin = R_FORWARD_Pin|R_BACKWARD_Pin|L_BACKWARD_Pin|L_FORWARD_Pin;
|
||||
|
|
|
@ -1,33 +1,48 @@
|
|||
#include "hcsr04.h"
|
||||
#include "tim.h"
|
||||
#include <stdio.h>
|
||||
|
||||
// time 的单位是 10μs
|
||||
static volatile uint64_t time; // 声明变量,用来计时
|
||||
static uint64_t time; // 声明变量,用来计时
|
||||
static uint64_t time_end; // 声明变量,存储回波信号时间
|
||||
static uint8_t state;
|
||||
static int16_t delay_time = -1; // 用于延时
|
||||
uint8_t sonor_state; // 测距状态变量,0:未测量,1:正在测量,2:已测量
|
||||
uint32_t sonor_distance; // 测量出的距离,单位mm
|
||||
|
||||
// HACK 临时的 delay 解决方法
|
||||
void delay_us(uint16_t us);
|
||||
void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);
|
||||
|
||||
uint16_t sonar(void) // 测距并返回单位为毫米的距离结果
|
||||
// 初始化超声波测距
|
||||
void HC_SR04_Init(void)
|
||||
{
|
||||
// 超时则返回5m距离
|
||||
uint32_t distance = 5000;
|
||||
HAL_GPIO_WritePin(SCL_C_GPIO_Port, SCL_C_Pin, GPIO_PIN_SET); // 输出高电平
|
||||
delay_us(15); // 延时15微秒
|
||||
HAL_GPIO_WritePin(SCL_C_GPIO_Port, SCL_C_Pin, GPIO_PIN_RESET); // 输出低电平
|
||||
// 禁用JTAG
|
||||
__HAL_RCC_AFIO_CLK_ENABLE();
|
||||
__HAL_AFIO_REMAP_SWJ_NOJTAG();
|
||||
|
||||
// HACK 考虑RTOS优化
|
||||
HAL_Delay(15);
|
||||
|
||||
if (state)
|
||||
distance = time_end * 346 / 200; // 计算距离,25°C空气中的音速为346m/s
|
||||
return distance;
|
||||
// 注册定时器中断溢出回调
|
||||
HAL_TIM_RegisterCallback(&htim2, HAL_TIM_PERIOD_ELAPSED_CB_ID, HCSR04_HAL_TIM_PeriodElapsedCallback);
|
||||
}
|
||||
|
||||
// 启动测距,单位:mm
|
||||
uint32_t sonar_mm(void)
|
||||
{
|
||||
sonor_state = 1;
|
||||
HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_SET); // 输出高电平
|
||||
delay_us(15); // 延时15微秒
|
||||
HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_RESET); // 输出低电平
|
||||
if (time_end / 100 < 38)
|
||||
{ // 判断是否小于38毫秒,大于38毫秒的就是超时,直接调到下面返回0
|
||||
sonor_distance = (time_end * 346) / 2; // 计算距离,25°C空气中的音速为346m/s
|
||||
sonor_distance = sonor_distance / 100; // 因为上面的time_end的单位是10微秒,所以要得出单位为毫米的距离结果,还得除以100
|
||||
}
|
||||
return sonor_distance;
|
||||
}
|
||||
|
||||
/// @brief 微秒级延时
|
||||
/// @param us 取值范围0-32767
|
||||
void delay_us(uint16_t us)
|
||||
{
|
||||
if (us == 0)
|
||||
return;
|
||||
delay_time = us;
|
||||
time = 0;
|
||||
HAL_TIM_Base_Start_IT(&htim2);
|
||||
|
@ -36,21 +51,22 @@ void delay_us(uint16_t us)
|
|||
delay_time = -1;
|
||||
}
|
||||
|
||||
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||
void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||
{
|
||||
if (htim == &htim2)
|
||||
{
|
||||
// 每10us自增一
|
||||
++time;
|
||||
if (delay_us > 0 && time == delay_time)
|
||||
if (delay_us > 0 && time * 10 >= delay_time)
|
||||
HAL_TIM_Base_Stop_IT(&htim2);
|
||||
}
|
||||
}
|
||||
|
||||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||
{
|
||||
if (GPIO_Pin == SDA_C_EXTI12_Pin)
|
||||
if (GPIO_Pin == Echo_Pin)
|
||||
{
|
||||
if (HAL_GPIO_ReadPin(SDA_C_EXTI12_GPIO_Port, SDA_C_EXTI12_Pin))
|
||||
if (HAL_GPIO_ReadPin(Echo_GPIO_Port, Echo_Pin))
|
||||
{
|
||||
time = 0;
|
||||
HAL_TIM_Base_Start_IT(&htim2);
|
||||
|
@ -59,7 +75,15 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
{
|
||||
time_end = time;
|
||||
HAL_TIM_Base_Stop_IT(&htim2);
|
||||
state = 1;
|
||||
sonor_state = 2;
|
||||
Sonar_CP_Callback();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 测距完毕回调,执行完自定义任务后将sonor_state置0
|
||||
__attribute__((weak)) void Sonar_CP_Callback()
|
||||
{
|
||||
printf("distance = %d (mm)\n", sonor_distance);
|
||||
sonor_state = 0;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
/* USER CODE END Header */
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "main.h"
|
||||
#include "dma.h"
|
||||
#include "i2c.h"
|
||||
#include "tim.h"
|
||||
#include "usart.h"
|
||||
|
@ -25,7 +26,10 @@
|
|||
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN Includes */
|
||||
#include <stdio.h>
|
||||
#include "bluetooth.h"
|
||||
#include "led.h"
|
||||
#include "hcsr04.h"
|
||||
#include "motor.h"
|
||||
/* USER CODE END Includes */
|
||||
|
||||
|
@ -90,24 +94,43 @@ int main(void)
|
|||
|
||||
/* Initialize all configured peripherals */
|
||||
MX_GPIO_Init();
|
||||
MX_DMA_Init();
|
||||
MX_I2C2_Init();
|
||||
MX_TIM2_Init();
|
||||
MX_TIM3_Init();
|
||||
MX_TIM4_Init();
|
||||
MX_USART1_UART_Init();
|
||||
// MX_USART1_UART_Init();
|
||||
MX_USART2_UART_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
HC_SR04_Init();
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
while (1)
|
||||
{
|
||||
int Distance_mm = sonar_mm();
|
||||
int Distance_m = Distance_mm / 1000;
|
||||
int Distance_m_p = Distance_mm % 1000;
|
||||
printf("Distance_mm = %d\n", Distance_mm);
|
||||
printf("Distance_m = %d\n", Distance_m);
|
||||
printf("Distance_m_p = %d\n", Distance_m_p);
|
||||
|
||||
if (Distance_mm < 100)
|
||||
{
|
||||
LED_Start(LED_R);
|
||||
MOTOR_Start();
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_Stop(LED_R);
|
||||
MOTOR_Stop();
|
||||
}
|
||||
HAL_Delay(300); // 延时300毫秒
|
||||
|
||||
/* USER CODE END WHILE */
|
||||
|
||||
/* USER CODE BEGIN 3 */
|
||||
|
||||
}
|
||||
/* USER CODE END 3 */
|
||||
}
|
||||
|
@ -138,8 +161,7 @@ void SystemClock_Config(void)
|
|||
|
||||
/** Initializes the CPU, AHB and APB buses clocks
|
||||
*/
|
||||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
|
||||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
|
||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
|
||||
|
|
|
@ -265,7 +265,7 @@ void EXTI15_10_IRQHandler(void)
|
|||
/* USER CODE BEGIN EXTI15_10_IRQn 0 */
|
||||
|
||||
/* USER CODE END EXTI15_10_IRQn 0 */
|
||||
HAL_GPIO_EXTI_IRQHandler(SDA_C_EXTI12_Pin);
|
||||
HAL_GPIO_EXTI_IRQHandler(Echo_Pin);
|
||||
/* USER CODE BEGIN EXTI15_10_IRQn 1 */
|
||||
|
||||
/* USER CODE END EXTI15_10_IRQn 1 */
|
||||
|
|
|
@ -78,33 +78,6 @@
|
|||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<Books>
|
||||
<Book>
|
||||
<Number>0</Number>
|
||||
<Title>Quick Start Guide (MCBSTM32E)</Title>
|
||||
<Path>E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\STM32E_QSG.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>1</Number>
|
||||
<Title>Base Board Schematics (MCBSTM32E)</Title>
|
||||
<Path>E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\mcbstm32e-base-board-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>2</Number>
|
||||
<Title>Display Board Schematics (MCBSTM32E)</Title>
|
||||
<Path>E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\mcbstm32e-display-board-schematics.pdf</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>3</Number>
|
||||
<Title>User Manual (MCBSTM32E)</Title>
|
||||
<Path>E:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Boards\Keil\MCBSTM32E\Documentation\mcbstm32e.chm</Path>
|
||||
</Book>
|
||||
<Book>
|
||||
<Number>4</Number>
|
||||
<Title>MCBSTM32E Evaluation Board Web Page (MCBSTM32E)</Title>
|
||||
<Path>http://www.keil.com/mcbstm32e/</Path>
|
||||
</Book>
|
||||
</Books>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
|
@ -127,7 +100,10 @@
|
|||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<nTsel>2</nTsel>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<bSchkAxf>0</bSchkAxf>
|
||||
<bTchkAxf>0</bTchkAxf>
|
||||
<nTsel>3</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
|
@ -141,31 +117,6 @@
|
|||
<pMon>BIN\CMSIS_AGDI.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>CMSIS_AGDI</Key>
|
||||
<Name>-X"" -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
|
@ -177,92 +128,7 @@
|
|||
<Name>-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL010000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>39</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134225148</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>..\Core\Src\hcsr04.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/hcsr04.c\39</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>98</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134229854</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>../Core/Src/main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/main.c\98</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>45</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134220846</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>..\Core\Src\hcsr04.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/hcsr04.c\45</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>3</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>32</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134229764</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>..\Core\Src\hcsr04.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/hcsr04.c\32</Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>time</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>distance</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>&rxSize</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Breakpoint/>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
|
@ -295,11 +161,19 @@
|
|||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<Lin2Executable></Lin2Executable>
|
||||
<Lin2ConfigFile></Lin2ConfigFile>
|
||||
<bLin2Auto>0</bLin2Auto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableFlashSeq>1</EnableFlashSeq>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>10000000</DbgClock>
|
||||
|
@ -309,7 +183,7 @@
|
|||
|
||||
<Group>
|
||||
<GroupName>Application/MDK-ARM</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
|
|
|
@ -10,13 +10,14 @@
|
|||
<TargetName>CAR</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060300::V5.06 update 3 (build 300)::ARMCC</pCCUsed>
|
||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F103C8</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F1xx_DFP.2.2.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||
<PackID>Keil.STM32F1xx_DFP.2.4.1</PackID>
|
||||
<PackURL>https://www.keil.com/pack/</PackURL>
|
||||
<Cpu>IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x800FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") TZ</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
|
@ -47,8 +48,8 @@
|
|||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>car\</OutputDirectory>
|
||||
<OutputName>car</OutputName>
|
||||
<OutputDirectory>CAR\</OutputDirectory>
|
||||
<OutputName>CAR</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>1</CreateHexFile>
|
||||
|
@ -183,6 +184,8 @@
|
|||
<hadXRAM>0</hadXRAM>
|
||||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<RvdsMve>0</RvdsMve>
|
||||
<RvdsCdeCp>0</RvdsCdeCp>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
|
@ -323,6 +326,7 @@
|
|||
<uThumb>0</uThumb>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<uC99>1</uC99>
|
||||
<uGnu>0</uGnu>
|
||||
<useXO>0</useXO>
|
||||
<v6Lang>5</v6Lang>
|
||||
<v6LangP>3</v6LangP>
|
||||
|
@ -335,7 +339,7 @@
|
|||
<MiscControls></MiscControls>
|
||||
<Define>USE_HAL_DRIVER,STM32F103xB</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include</IncludePath>
|
||||
<IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include</IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
|
@ -348,7 +352,7 @@
|
|||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<uClangAs>0</uClangAs>
|
||||
<ClangAsOpt>1</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
@ -428,56 +432,6 @@
|
|||
<FileName>dma.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/dma.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<FileArmAds>
|
||||
<Cads>
|
||||
<interw>2</interw>
|
||||
<Optim>0</Optim>
|
||||
<oTime>2</oTime>
|
||||
<SplitLS>2</SplitLS>
|
||||
<OneElfS>2</OneElfS>
|
||||
<Strict>2</Strict>
|
||||
<EnumInt>2</EnumInt>
|
||||
<PlainCh>2</PlainCh>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<wLevel>0</wLevel>
|
||||
<uThumb>2</uThumb>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<uC99>2</uC99>
|
||||
<useXO>2</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>2</vShortEn>
|
||||
<vShortWch>2</vShortWch>
|
||||
<v6Lto>2</v6Lto>
|
||||
<v6WtE>2</v6WtE>
|
||||
<v6Rtti>2</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
</FileArmAds>
|
||||
</FileOption>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>i2c.c</FileName>
|
||||
|
@ -616,4 +570,13 @@
|
|||
<files/>
|
||||
</RTE>
|
||||
|
||||
<LayerInfo>
|
||||
<Layers>
|
||||
<Layer>
|
||||
<LayName>CAR</LayName>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
</Layers>
|
||||
</LayerInfo>
|
||||
|
||||
</Project>
|
||||
|
|
Loading…
Reference in New Issue
Block a user