合并蓝牙模块(待测试)
This commit is contained in:
parent
3af55aae9d
commit
0116e8246d
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -5,10 +5,6 @@ MDK-ARM/DebugConfig
|
|||
MDK-ARM/CAR.uvguix.*
|
||||
MDK-ARM/startup_stm32f103xb.lst
|
||||
MDK-ARM/RTE
|
||||
MDK-ARM/CAR.uvguix.Admin
|
||||
MDK-ARM/car.uvguix.Administrator
|
||||
MDK-ARM/CAR.uvguix.lenovo
|
||||
|
||||
build/
|
||||
cmake/
|
||||
|
||||
|
|
13
CAR.ioc
13
CAR.ioc
|
@ -69,7 +69,7 @@ Mcu.UserName=STM32F103C8Tx
|
|||
MxCube.Version=6.12.0
|
||||
MxDb.Version=DB.6.0.120
|
||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.DMA1_Channel6_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.DMA1_Channel6_IRQn=true\:0\:0\:true\:false\:true\:true\:true\:true
|
||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.EXTI15_10_IRQn=true\:1\:0\:true\:false\:true\:true\:true\:true
|
||||
NVIC.ForceEnableDMAVector=false
|
||||
|
@ -79,9 +79,10 @@ NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
|||
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_2
|
||||
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.SysTick_IRQn=true\:3\:0\:true\:false\:true\:false\:true\:false
|
||||
NVIC.SysTick_IRQn=true\:2\:0\:true\:false\:true\:false\:true\:false
|
||||
NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.USART1_IRQn=true\:3\:1\:true\:false\:true\:true\:true\:true
|
||||
NVIC.USART2_IRQn=true\:3\:0\:true\:false\:true\:true\:true\:true
|
||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
PA0-WKUP.GPIOParameters=PinState,GPIO_Label
|
||||
PA0-WKUP.GPIO_Label=FM_K2_POWERC
|
||||
|
@ -200,7 +201,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
|
||||
|
@ -209,7 +210,7 @@ ProjectManager.ProjectBuild=false
|
|||
ProjectManager.ProjectFileName=CAR.ioc
|
||||
ProjectManager.ProjectName=CAR
|
||||
ProjectManager.ProjectStructure=
|
||||
ProjectManager.RegisterCallBack=TIM,USART
|
||||
ProjectManager.RegisterCallBack=TIM
|
||||
ProjectManager.StackSize=0x400
|
||||
ProjectManager.TargetToolchain=Makefile
|
||||
ProjectManager.ToolChainLocation=
|
||||
|
@ -267,7 +268,7 @@ TIM3.Pulse-PWM\ Generation4\ CH4=255
|
|||
TIM4.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
||||
TIM4.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
|
||||
TIM4.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Prescaler,Period,Pulse-PWM Generation1 CH1,Pulse-PWM Generation2 CH2
|
||||
TIM4.Period=100
|
||||
TIM4.Period=0
|
||||
TIM4.Prescaler=720 - 1
|
||||
TIM4.Pulse-PWM\ Generation1\ CH1=100
|
||||
TIM4.Pulse-PWM\ Generation2\ CH2=100
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
* @brief This is the HAL system configuration section
|
||||
*/
|
||||
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
|
||||
#define TICK_INT_PRIORITY 3U /*!< tick interrupt priority (lowest by default) */
|
||||
#define TICK_INT_PRIORITY 2U /*!< tick interrupt priority (lowest by default) */
|
||||
#define USE_RTOS 0U
|
||||
#define PREFETCH_ENABLE 1U
|
||||
|
||||
|
|
|
@ -18,9 +18,7 @@
|
|||
/* USER CODE END Header */
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "main.h"
|
||||
|
||||
#include "dma.h"
|
||||
#include "gpio.h"
|
||||
#include "i2c.h"
|
||||
#include "tim.h"
|
||||
#include "usart.h"
|
||||
|
@ -29,8 +27,6 @@
|
|||
/* USER CODE BEGIN Includes */
|
||||
#include "bluetooth.h"
|
||||
#include "hcsr04.h"
|
||||
#include "led.h"
|
||||
#include "motor.h"
|
||||
#include "syscalls.h"
|
||||
/* USER CODE END Includes */
|
||||
|
||||
|
@ -102,25 +98,21 @@ int main(void)
|
|||
MX_TIM2_Init();
|
||||
MX_TIM3_Init();
|
||||
MX_TIM4_Init();
|
||||
// MX_USART1_UART_Init();
|
||||
MX_USART2_UART_Init();
|
||||
MX_USART1_UART_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
HC_SR04_Init();
|
||||
BLUETOOTH_Init();
|
||||
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
// HC_SR04_Init();
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
while (1)
|
||||
{
|
||||
my_printf(HUART1, "test huart1 \r\n");
|
||||
my_printf(HUART2, "test huart2\r\n");
|
||||
|
||||
// App_LineSeek();
|
||||
|
||||
// if (sonor_state == 0)
|
||||
// {
|
||||
// sonar_mm();
|
||||
// }
|
||||
// HAL_Delay(300); // 延时300毫秒
|
||||
|
||||
/* USER CODE END WHILE */
|
||||
|
|
|
@ -114,6 +114,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
|||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* USART1 interrupt Init */
|
||||
HAL_NVIC_SetPriority(USART1_IRQn, 3, 1);
|
||||
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
||||
/* USER CODE BEGIN USART1_MspInit 1 */
|
||||
|
||||
/* USER CODE END USART1_MspInit 1 */
|
||||
|
@ -159,7 +162,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
|||
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart2_rx);
|
||||
|
||||
/* USART2 interrupt Init */
|
||||
HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
|
||||
HAL_NVIC_SetPriority(USART2_IRQn, 3, 0);
|
||||
HAL_NVIC_EnableIRQ(USART2_IRQn);
|
||||
/* USER CODE BEGIN USART2_MspInit 1 */
|
||||
|
||||
|
@ -215,4 +218,5 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
|
|||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
|
|
@ -135,7 +135,7 @@
|
|||
<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>
|
||||
<Name>-X"" -O206 -S8 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -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>
|
||||
|
@ -157,70 +157,54 @@
|
|||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>39</LineNumber>
|
||||
<LineNumber>34</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134225148</Address>
|
||||
<Address>134226582</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>D:\OneDrive\OneDrive - my.swjtu.edu.cn\Data\program code\Projects\Car\Core\Src\hcsr04.c</Filename>
|
||||
<Filename>..\Peripheral\Src\bluetooth.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/hcsr04.c\39</Expression>
|
||||
<Expression>\\CAR\../Peripheral/Src/bluetooth.c\34</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>98</LineNumber>
|
||||
<LineNumber>32</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134229854</Address>
|
||||
<Address>134221102</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>
|
||||
<Filename>..\Peripheral\Src\control.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/main.c\98</Expression>
|
||||
<Expression>\\CAR\../Peripheral/Src/control.c\32</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>45</LineNumber>
|
||||
<LineNumber>24</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134220846</Address>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>D:\OneDrive\OneDrive - my.swjtu.edu.cn\Data\program code\Projects\Car\Core\Src\hcsr04.c</Filename>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>..\Peripheral\Src\bluetooth.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/hcsr04.c\45</Expression>
|
||||
<Expression></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>D:\OneDrive\OneDrive - my.swjtu.edu.cn\Data\program code\Projects\Car\Core\Src\hcsr04.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\car\../Core/Src/hcsr04.c\32</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>4</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>99</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
|
@ -235,7 +219,7 @@
|
|||
<Expression></Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>5</Number>
|
||||
<Number>4</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>97</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
|
@ -255,22 +239,25 @@
|
|||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>time</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>distance</ItemText>
|
||||
<ItemText>num,0x0A</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>&rxSize</ItemText>
|
||||
<SubType>8</SubType>
|
||||
<ItemText>rxBuffer</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>num</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
|
@ -315,7 +302,7 @@
|
|||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableFlashSeq>0</EnableFlashSeq>
|
||||
<EnableFlashSeq>1</EnableFlashSeq>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>10000000</DbgClock>
|
||||
|
@ -344,8 +331,8 @@
|
|||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Core</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<GroupName>Application/User/App</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
|
@ -356,14 +343,34 @@
|
|||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\App\Src\app_line_seek.c</PathWithFileName>
|
||||
<FilenameWithoutPath>app_line_seek.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Application/User/Core</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>../Core/Src/main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -374,8 +381,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -386,8 +393,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -398,8 +405,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -410,8 +417,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -422,8 +429,20 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\syscalls.c</PathWithFileName>
|
||||
<FilenameWithoutPath>syscalls.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -434,8 +453,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -445,15 +464,83 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Application/User/Peripheral</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\syscalls.c</PathWithFileName>
|
||||
<FilenameWithoutPath>syscalls.c</FilenameWithoutPath>
|
||||
<PathWithFileName>..\Peripheral\Src\bluetooth.c</PathWithFileName>
|
||||
<FilenameWithoutPath>bluetooth.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Peripheral\Src\control.c</PathWithFileName>
|
||||
<FilenameWithoutPath>control.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Peripheral\Src\hcsr04.c</PathWithFileName>
|
||||
<FilenameWithoutPath>hcsr04.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Peripheral\Src\led.c</PathWithFileName>
|
||||
<FilenameWithoutPath>led.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Peripheral\Src\line_seek.c</PathWithFileName>
|
||||
<FilenameWithoutPath>line_seek.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Peripheral\Src\motor.c</PathWithFileName>
|
||||
<FilenameWithoutPath>motor.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
|
@ -466,8 +553,8 @@
|
|||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -478,8 +565,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -490,8 +577,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -502,8 +589,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -514,8 +601,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -526,8 +613,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -538,8 +625,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -550,8 +637,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -562,8 +649,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -574,8 +661,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -586,8 +673,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -598,8 +685,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -610,8 +697,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -622,8 +709,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -634,8 +721,8 @@
|
|||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -653,106 +740,6 @@
|
|||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>../Core/Src/system_stm32f1xx.c</PathWithFileName>
|
||||
<FilenameWithoutPath>system_stm32f1xx.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>User</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Src\bluetooth.c</PathWithFileName>
|
||||
<FilenameWithoutPath>bluetooth.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Src\control.c</PathWithFileName>
|
||||
<FilenameWithoutPath>control.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Src\hcsr04.c</PathWithFileName>
|
||||
<FilenameWithoutPath>hcsr04.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Src\led.c</PathWithFileName>
|
||||
<FilenameWithoutPath>led.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Src\motor.c</PathWithFileName>
|
||||
<FilenameWithoutPath>motor.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Src\line_seek.c</PathWithFileName>
|
||||
<FilenameWithoutPath>line_seek.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>App</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>33</FileNumber>
|
||||
|
@ -760,8 +747,8 @@
|
|||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\App\Src\app_line_seek.c</PathWithFileName>
|
||||
<FilenameWithoutPath>app_line_seek.c</FilenameWithoutPath>
|
||||
<PathWithFileName>../Core/Src/system_stm32f1xx.c</PathWithFileName>
|
||||
<FilenameWithoutPath>system_stm32f1xx.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
<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>
|
||||
|
@ -48,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>
|
||||
|
@ -81,7 +81,7 @@
|
|||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>1</RunUserProg2>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
|
@ -339,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;../Drivers/CMSIS/Include;../User/Inc;../App/Inc</IncludePath>
|
||||
<IncludePath>../App/Inc;../Core/Inc;../Peripheral/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>
|
||||
|
@ -352,7 +352,7 @@
|
|||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<ClangAsOpt>4</ClangAsOpt>
|
||||
<ClangAsOpt>1</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
@ -391,7 +391,17 @@
|
|||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Core</GroupName>
|
||||
<GroupName>Application/User/App</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>app_line_seek.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\App\Src\app_line_seek.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Application/User/Core</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
|
@ -407,57 +417,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>
|
||||
<uGnu>2</uGnu>
|
||||
<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>
|
||||
|
@ -474,6 +433,11 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/usart.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>syscalls.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\syscalls.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_it.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
|
@ -484,10 +448,40 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/stm32f1xx_hal_msp.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Application/User/Peripheral</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>syscalls.c</FileName>
|
||||
<FileName>bluetooth.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\syscalls.c</FilePath>
|
||||
<FilePath>..\Peripheral\Src\bluetooth.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>control.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Peripheral\Src\control.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>hcsr04.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Peripheral\Src\hcsr04.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>led.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Peripheral\Src\led.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>line_seek.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Peripheral\Src\line_seek.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>motor.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Peripheral\Src\motor.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
|
@ -581,51 +575,6 @@
|
|||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>User</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>bluetooth.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\Src\bluetooth.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>control.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\Src\control.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>hcsr04.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\Src\hcsr04.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>led.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\Src\led.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>motor.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\Src\motor.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>line_seek.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\Src\line_seek.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>App</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>app_line_seek.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\App\Src\app_line_seek.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
|
|
21
Peripheral/Inc/control.h
Normal file
21
Peripheral/Inc/control.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
#ifndef __CONTROL_H
|
||||
#define __CONTROL_H
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#define MODE_STOP 0
|
||||
// 遥控模式
|
||||
#define MODE_REMOTE 1
|
||||
// 巡线模式
|
||||
#define MODE_PATROL 2
|
||||
// 避障模式
|
||||
#define MODE_AVOID 3
|
||||
|
||||
// 小车运行模式
|
||||
extern uint8_t mode;
|
||||
|
||||
void CONTROL_CommonCmd(uint8_t type, uint8_t state);
|
||||
void CONTROL_RGB(uint8_t r, uint8_t g, uint8_t b);
|
||||
void CONTROL_Mode(uint8_t new_mode, uint8_t state);
|
||||
|
||||
#endif
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef __LINE_SEEK_H__
|
||||
#define __LINE_SEEK_H__
|
||||
|
||||
#include "main.h"
|
||||
|
||||
// 获取巡线状态
|
||||
void LineSeek_Get(int *p_iL1, int *p_iL2, int *p_iR1, int *p_iR2);
|
||||
|
|
@ -1,29 +1,41 @@
|
|||
#include "bluetooth.h"
|
||||
|
||||
#include "usart.h"
|
||||
#include "control.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "control.h"
|
||||
#include "usart.h"
|
||||
#include "syscalls.h"
|
||||
|
||||
#define BUFFER_SIZE 100
|
||||
#define MESSAGE_SIZE 19
|
||||
#define CMD_NUM 9
|
||||
|
||||
static int8_t rxBuffer[BUFFER_SIZE], txBuffer[BUFFER_SIZE];
|
||||
static int8_t rxBuffer[BUFFER_SIZE], txBuffer[10000];
|
||||
static uint16_t txLen;
|
||||
static uint8_t cmdIndex;
|
||||
|
||||
void BLUETOOTH_Init(void)
|
||||
{
|
||||
HAL_UARTEx_ReceiveToIdle_DMA(&huart2, rxBuffer, 100);
|
||||
// HAL_UART_Receive_IT(&huart2, txBuffer + txLen, 1);
|
||||
}
|
||||
|
||||
// void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
|
||||
// {
|
||||
// if (huart == &huart2)
|
||||
// {
|
||||
// ++txLen;
|
||||
// if (txLen == 10000)
|
||||
// txLen = 0;
|
||||
// }
|
||||
// }
|
||||
|
||||
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
|
||||
{
|
||||
if (huart == &huart2 && rxBuffer[0] == '$' && rxBuffer[Size - 1] == '#')
|
||||
{
|
||||
rxBuffer[Size] = '\0';
|
||||
// 通用协议
|
||||
if (rxBuffer[2] == ',')
|
||||
if (mode == MODE_REMOTE && rxBuffer[2] == ',')
|
||||
{
|
||||
cmdIndex = 0;
|
||||
for (uint8_t i = 1; i < MESSAGE_SIZE; i += 2)
|
||||
|
@ -33,11 +45,19 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
|
|||
break;
|
||||
if (cmdIndex == CMD_NUM)
|
||||
cmdIndex = 0;
|
||||
CONTROL_CommonCmd(cmdIndex, rxBuffer[cmdIndex * 2 + 1]);
|
||||
CONTROL_CommonCmd(cmdIndex, rxBuffer[cmdIndex * 2 + 1] - '0');
|
||||
}
|
||||
else
|
||||
{
|
||||
static uint16_t num[6];
|
||||
|
||||
// 模式选择
|
||||
if (rxBuffer[5] == 'M')
|
||||
{
|
||||
sscanf(rxBuffer + 5, "%*4s%c%c", num, num + 1);
|
||||
CONTROL_Mode(num[0] - '0', num[1] - '0');
|
||||
}
|
||||
else if (mode == MODE_REMOTE)
|
||||
switch (rxBuffer[5])
|
||||
{
|
||||
// 机械手
|
||||
|
@ -51,17 +71,17 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
|
|||
sscanf(rxBuffer + 5, "%*3s%hu,%*3s%hu,%*3s%hu", num, num + 1, num + 2);
|
||||
CONTROL_RGB(num[0], num[1], num[2]);
|
||||
break;
|
||||
|
||||
// 模式选择
|
||||
case 'M':
|
||||
sscanf(rxBuffer + 5, "%*4s%c%c", num, num + 1);
|
||||
CONTROL_Mode(num[0] - '0', num[1] - '0');
|
||||
break;
|
||||
}
|
||||
}
|
||||
memcpy(txBuffer, rxBuffer, Size);
|
||||
printf("%s", txBuffer);
|
||||
HAL_UART_Transmit_IT(&huart2, txBuffer, Size);
|
||||
// my_printf(&huart2, rxBuffer);
|
||||
// strcpy(txBuffer + txLen, rxBuffer);
|
||||
// if (txLen + Size >= 9999)
|
||||
// txLen = 0;
|
||||
// else
|
||||
// txLen += Size;
|
||||
// txBuffer[txLen] = '\0';
|
||||
// if (strcmp(rxBuffer, "$send#") == 0)
|
||||
// my_printf(&huart2, txBuffer);
|
||||
BLUETOOTH_Init();
|
||||
}
|
||||
}
|
189
Peripheral/Src/control.c
Normal file
189
Peripheral/Src/control.c
Normal file
|
@ -0,0 +1,189 @@
|
|||
#include "control.h"
|
||||
#include "hcsr04.h"
|
||||
#include "led.h"
|
||||
#include "motor.h"
|
||||
|
||||
#define CMD_MOVE 0
|
||||
#define CMD_ROTATE 1
|
||||
#define CMD_BUZZER 2
|
||||
#define CMD_SPEED 3
|
||||
// #define CMD_SHAKE 4
|
||||
// #define CMD_SING 5
|
||||
#define CMD_LED 6
|
||||
// #define CMD_FIRE 7
|
||||
// #define CMD_SERVO 8
|
||||
|
||||
// 小车默认速度
|
||||
static int8_t speed = 20;
|
||||
uint8_t mode = MODE_REMOTE;
|
||||
|
||||
void carMove(uint8_t state);
|
||||
void carSpin(uint8_t state);
|
||||
void callBuzzer(uint8_t state);
|
||||
void setSpeed(uint8_t state);
|
||||
// void shake(uint8_t state);
|
||||
// void sing(uint8_t state);
|
||||
void setLed(uint8_t state);
|
||||
// void fire(uint8_t state);
|
||||
// void servo(uint8_t state);
|
||||
|
||||
void CONTROL_CommonCmd(uint8_t type, uint8_t state)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case CMD_MOVE:
|
||||
carMove(state);
|
||||
break;
|
||||
case CMD_ROTATE:
|
||||
carSpin(state);
|
||||
break;
|
||||
case CMD_BUZZER:
|
||||
callBuzzer(state);
|
||||
break;
|
||||
case CMD_SPEED:
|
||||
setSpeed(state);
|
||||
break;
|
||||
// case CMD_SHAKE:
|
||||
// break;
|
||||
// case CMD_SING:
|
||||
// break;
|
||||
case CMD_LED:
|
||||
setLed(state);
|
||||
break;
|
||||
// case CMD_FIRE:
|
||||
// break;
|
||||
// case CMD_SERVO:
|
||||
// break;
|
||||
}
|
||||
}
|
||||
|
||||
void CONTROL_RGB(uint8_t r, uint8_t g, uint8_t b)
|
||||
{
|
||||
LED_Start(LED_ALL);
|
||||
LED_SetDuty(r, g, b);
|
||||
}
|
||||
|
||||
void CONTROL_Mode(uint8_t new_mode, uint8_t state)
|
||||
{
|
||||
if (state == 0)
|
||||
{
|
||||
mode = MODE_STOP;
|
||||
MOTOR_Stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
mode = new_mode;
|
||||
switch (new_mode)
|
||||
{
|
||||
case MODE_REMOTE:
|
||||
speed = 20;
|
||||
MOTOR_SetDuty(speed, speed);
|
||||
MOTOR_Start();
|
||||
break;
|
||||
case MODE_PATROL:
|
||||
break;
|
||||
case MODE_AVOID:
|
||||
break;
|
||||
default:
|
||||
mode = MODE_STOP;
|
||||
MOTOR_Stop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void carMove(uint8_t state)
|
||||
{
|
||||
if (state == 0)
|
||||
MOTOR_Stop();
|
||||
else
|
||||
{
|
||||
MOTOR_Start();
|
||||
switch (state)
|
||||
{
|
||||
// 前进
|
||||
case 1:
|
||||
MOTOR_SetDuty(speed, speed);
|
||||
break;
|
||||
// 后退
|
||||
case 2:
|
||||
MOTOR_SetDuty(-speed, -speed);
|
||||
break;
|
||||
// 左转
|
||||
case 3:
|
||||
MOTOR_SetDuty(0, speed);
|
||||
break;
|
||||
// 右转
|
||||
case 4:
|
||||
MOTOR_SetDuty(speed, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void carSpin(uint8_t state)
|
||||
{
|
||||
if (state == 1)
|
||||
MOTOR_SetDuty(speed, -speed);
|
||||
else if (state == 2)
|
||||
MOTOR_SetDuty(-speed, speed);
|
||||
}
|
||||
|
||||
void callBuzzer(uint8_t state)
|
||||
{
|
||||
HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_RESET);
|
||||
HAL_Delay(200);
|
||||
HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void setSpeed(uint8_t state)
|
||||
{
|
||||
if (state == 1)
|
||||
speed += 10;
|
||||
else if (state == 2)
|
||||
speed -= 10;
|
||||
if (speed > 100)
|
||||
speed = 100;
|
||||
else if (speed < 20)
|
||||
speed = 20;
|
||||
}
|
||||
|
||||
void setLed(uint8_t state)
|
||||
{
|
||||
LED_Start(LED_ALL);
|
||||
switch (state)
|
||||
{
|
||||
// 白
|
||||
case 1:
|
||||
LED_SetDuty(255, 255, 255);
|
||||
break;
|
||||
// 红
|
||||
case 2:
|
||||
LED_SetDuty(255, 0, 0);
|
||||
break;
|
||||
// 绿
|
||||
case 3:
|
||||
LED_SetDuty(0, 255, 0);
|
||||
break;
|
||||
// 蓝
|
||||
case 4:
|
||||
LED_SetDuty(0, 0, 255);
|
||||
break;
|
||||
// 青
|
||||
case 5:
|
||||
LED_SetDuty(0, 255, 255);
|
||||
break;
|
||||
// 品红
|
||||
case 6:
|
||||
LED_SetDuty(255, 0, 255);
|
||||
break;
|
||||
// 黄
|
||||
case 7:
|
||||
LED_SetDuty(255, 255, 0);
|
||||
break;
|
||||
// 关
|
||||
default:
|
||||
LED_SetDuty(0, 0, 0);
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,11 +1,10 @@
|
|||
#include "hcsr04.h"
|
||||
|
||||
#include "stm32f1xx_hal_tim.h"
|
||||
#include "tim.h"
|
||||
#include "syscalls.h"
|
||||
|
||||
uint64_t time; // 声明变量,用来计时
|
||||
uint64_t time_end; // 声明变量,存储回波信号时间
|
||||
uint8_t sonor_state = 1; // 测距状态变量,0:未测量,1:正在测量,2:已测量
|
||||
static uint64_t time_start; // 声明变量,用来计时
|
||||
static uint64_t time_end; // 声明变量,存储回波信号时间
|
||||
uint8_t sonor_state; // 测距状态变量,0:未测量,1:正在测量,2:已测量
|
||||
uint32_t sonor_distance; // 测量出的距离,单位mm
|
||||
|
||||
void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);
|
||||
|
@ -39,8 +38,9 @@ uint32_t sonar_mm(void)
|
|||
void HCSR04_HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||
{
|
||||
if (htim == &htim2)
|
||||
{ // 每10us自增一
|
||||
time++;
|
||||
{
|
||||
// 每10us自增一
|
||||
++time_start;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,22 +50,22 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
{
|
||||
if (HAL_GPIO_ReadPin(Echo_GPIO_Port, Echo_Pin))
|
||||
{
|
||||
time_start = 0;
|
||||
HAL_TIM_Base_Start_IT(&htim2);
|
||||
time = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
time_end = time;
|
||||
time_end = time_start;
|
||||
HAL_TIM_Base_Stop_IT(&htim2);
|
||||
sonor_state = 2;
|
||||
Sonar_CP_Callback();
|
||||
sonor_state = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 测距完毕回调,执行完自定义任务后将sonor_state置0void
|
||||
__attribute__((weak)) void Sonar_CP_Callback(void)
|
||||
// 测距完毕回调,执行完自定义任务后将sonor_state置0
|
||||
__attribute__((weak)) void Sonar_CP_Callback()
|
||||
{
|
||||
printf("distance = %d (mm)\n", sonor_distance);
|
||||
my_printf(HUART2, "distance = %d (mm)\n", sonor_distance);
|
||||
sonor_state = 0;
|
||||
}
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
#include "line_seek.h"
|
||||
|
||||
#include "main.h"
|
||||
|
||||
/**
|
||||
* @brief 获取巡线状态
|
||||
* @param[in] int *p_iL1, int *p_iL2, int *p_iR1, int *p_iR2 四路巡线位指针
|
|
@ -3,6 +3,7 @@
|
|||
#include "tim.h"
|
||||
|
||||
#define MAX_SPEED 100
|
||||
#define MIN_SPEED 15
|
||||
#define MOTOR_L 1
|
||||
#define MOTOR_R 2
|
||||
#define MOTOR_TIM (&htim4)
|
||||
|
@ -37,30 +38,21 @@ void MOTOR_Stop(void)
|
|||
|
||||
/// @brief 控制电机占空比
|
||||
|
||||
/// @param leftDuty 绝对值 20-100, 支持正负
|
||||
/// @param rightDuty 绝对值 20-100,支持正负
|
||||
/// @param leftDuty 绝对值 0或20-100, 支持正负
|
||||
/// @param rightDuty 绝对值 0或20-100,支持正负
|
||||
void MOTOR_SetDuty(int8_t leftDuty, int8_t rightDuty)
|
||||
{
|
||||
leftDuty = preProcess(leftDuty, MOTOR_L);
|
||||
rightDuty = preProcess(rightDuty, MOTOR_R);
|
||||
|
||||
uint16_t leftSpeed = (uint32_t)MAX_SPEED * leftDuty / 100;
|
||||
__HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_L_CHAN, leftSpeed);
|
||||
__HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_R_CHAN, leftSpeed);
|
||||
|
||||
uint16_t rightSpeed = (uint32_t)MAX_SPEED * rightDuty / 100;
|
||||
__HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_L_CHAN, rightSpeed);
|
||||
__HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_R_CHAN, rightSpeed);
|
||||
__HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_L_CHAN, leftDuty);
|
||||
__HAL_TIM_SetCompare(MOTOR_TIM, MOTOR_R_CHAN, rightDuty);
|
||||
}
|
||||
|
||||
int8_t preProcess(int8_t duty, uint8_t motor)
|
||||
{
|
||||
if (duty >= 0)
|
||||
if (duty > 0)
|
||||
{
|
||||
if (duty > 100)
|
||||
duty = 100;
|
||||
else if (duty < 20)
|
||||
duty = 20;
|
||||
if (motor & MOTOR_L)
|
||||
{
|
||||
HAL_GPIO_WritePin(L_FORWARD_GPIO_Port, L_FORWARD_Pin, GPIO_PIN_SET);
|
||||
|
@ -71,13 +63,11 @@ int8_t preProcess(int8_t duty, uint8_t motor)
|
|||
HAL_GPIO_WritePin(R_FORWARD_GPIO_Port, R_FORWARD_Pin, GPIO_PIN_SET);
|
||||
HAL_GPIO_WritePin(R_BACKWARD_GPIO_Port, R_BACKWARD_Pin, GPIO_PIN_RESET);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
else if (duty < 0)
|
||||
{
|
||||
if (duty < -100)
|
||||
duty = -100;
|
||||
else if (duty > -20)
|
||||
duty = -20;
|
||||
duty = -duty;
|
||||
if (motor & MOTOR_L)
|
||||
{
|
||||
HAL_GPIO_WritePin(L_FORWARD_GPIO_Port, L_FORWARD_Pin, GPIO_PIN_RESET);
|
||||
|
@ -89,5 +79,24 @@ int8_t preProcess(int8_t duty, uint8_t motor)
|
|||
HAL_GPIO_WritePin(R_BACKWARD_GPIO_Port, R_BACKWARD_Pin, GPIO_PIN_SET);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
duty = MAX_SPEED;
|
||||
if (motor & MOTOR_L)
|
||||
{
|
||||
HAL_GPIO_WritePin(L_FORWARD_GPIO_Port, L_FORWARD_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(L_BACKWARD_GPIO_Port, L_BACKWARD_Pin, GPIO_PIN_RESET);
|
||||
}
|
||||
if (motor & MOTOR_R)
|
||||
{
|
||||
HAL_GPIO_WritePin(R_FORWARD_GPIO_Port, R_FORWARD_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(R_BACKWARD_GPIO_Port, R_BACKWARD_Pin, GPIO_PIN_RESET);
|
||||
}
|
||||
}
|
||||
|
||||
if (duty > MAX_SPEED)
|
||||
duty = MAX_SPEED;
|
||||
if (duty < MIN_SPEED)
|
||||
duty = MIN_SPEED;
|
||||
return duty;
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
#ifndef __CONTROL_H
|
||||
#define __CONTROL_H
|
||||
|
||||
#include "main.h"
|
||||
|
||||
void CONTROL_CommonCmd(uint8_t type, uint8_t state);
|
||||
void CONTROL_RGB(uint8_t r, uint8_t g, uint8_t b);
|
||||
void CONTROL_Mode(uint8_t mode, uint8_t state);
|
||||
|
||||
#endif
|
|
@ -1,88 +0,0 @@
|
|||
#include "control.h"
|
||||
#include "hcsr04.h"
|
||||
#include "led.h"
|
||||
#include "motor.h"
|
||||
|
||||
#define CMD_MOVE 0
|
||||
#define CMD_ROTATE 1
|
||||
#define CMD_BUZZER 2
|
||||
#define CMD_SPEED 3
|
||||
// #define CMD_SHAKE 4
|
||||
// #define CMD_SING 5
|
||||
#define CMD_LED 6
|
||||
// #define CMD_FIRE 7
|
||||
// #define CMD_SERVO 8
|
||||
|
||||
void move(uint8_t state);
|
||||
void rotate(uint8_t state);
|
||||
void buzzer(uint8_t state);
|
||||
void speed(uint8_t state);
|
||||
// void shake(uint8_t state);
|
||||
// void sing(uint8_t state);
|
||||
void led(uint8_t state);
|
||||
// void fire(uint8_t state);
|
||||
// void servo(uint8_t state);
|
||||
|
||||
void CONTROL_CommonCmd(uint8_t type, uint8_t state)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case CMD_MOVE:
|
||||
move(state);
|
||||
break;
|
||||
case CMD_ROTATE:
|
||||
rotate(state);
|
||||
break;
|
||||
case CMD_BUZZER:
|
||||
buzzer(state);
|
||||
break;
|
||||
case CMD_SPEED:
|
||||
speed(state);
|
||||
break;
|
||||
// case CMD_SHAKE:
|
||||
// break;
|
||||
// case CMD_SING:
|
||||
// break;
|
||||
case CMD_LED:
|
||||
led(state);
|
||||
break;
|
||||
// case CMD_FIRE:
|
||||
// break;
|
||||
// case CMD_SERVO:
|
||||
// break;
|
||||
}
|
||||
}
|
||||
|
||||
void CONTROL_RGB(uint8_t r, uint8_t g, uint8_t b)
|
||||
{
|
||||
LED_Start(LED_ALL);
|
||||
LED_SetDuty(r, g, b);
|
||||
}
|
||||
|
||||
void CONTROL_Mode(uint8_t mode, uint8_t state)
|
||||
{
|
||||
}
|
||||
|
||||
void move(uint8_t state)
|
||||
{
|
||||
}
|
||||
|
||||
void rotate(uint8_t state)
|
||||
{
|
||||
}
|
||||
|
||||
void buzzer(uint8_t state)
|
||||
{
|
||||
if (state)
|
||||
HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_RESET);
|
||||
else
|
||||
HAL_GPIO_WritePin(FM_K2_POWERC_GPIO_Port, FM_K2_POWERC_Pin, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void speed(uint8_t state)
|
||||
{
|
||||
}
|
||||
|
||||
void led(uint8_t state)
|
||||
{
|
||||
}
|
Loading…
Reference in New Issue
Block a user