关闭蓝牙透传功能,增加IN1输入低进入高速模式功能 zsxfly20240419
This commit is contained in:
parent
b5bba5e376
commit
51c94996e0
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -317,6 +317,19 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<bShared>0</bShared>
|
<bShared>0</bShared>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>2</GroupNumber>
|
||||||
|
<FileNumber>9</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\src\app_ble_uart_proc.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>app_ble_uart_proc.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
</Group>
|
</Group>
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
|
@ -327,7 +340,7 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>9</FileNumber>
|
<FileNumber>10</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<Focus>1</Focus>
|
<Focus>1</Focus>
|
||||||
|
@ -340,7 +353,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>10</FileNumber>
|
<FileNumber>11</FileNumber>
|
||||||
<FileType>4</FileType>
|
<FileType>4</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<Focus>1</Focus>
|
<Focus>1</Focus>
|
||||||
|
@ -361,7 +374,7 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>4</GroupNumber>
|
<GroupNumber>4</GroupNumber>
|
||||||
<FileNumber>11</FileNumber>
|
<FileNumber>12</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<Focus>1</Focus>
|
<Focus>1</Focus>
|
||||||
|
@ -374,4 +387,145 @@
|
||||||
</File>
|
</File>
|
||||||
</Group>
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>ble\app</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>13</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\app\app.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>app.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>14</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\app\app_actv.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>app_actv.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>15</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\app\app_gapc.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>app_gapc.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>16</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\app\app_gapm.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>app_gapm.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>17</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\app\app_gatt.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>app_gatt.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>18</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\app\app_msg.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>app_msg.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>ble\lib</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>6</GroupNumber>
|
||||||
|
<FileNumber>19</FileNumber>
|
||||||
|
<FileType>4</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\lib\ble6.lib</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>ble6.lib</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>ble\pre</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>7</GroupNumber>
|
||||||
|
<FileNumber>20</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\prf\prf_diss.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>prf_diss.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>7</GroupNumber>
|
||||||
|
<FileNumber>21</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<Focus>0</Focus>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\..\ble\prf\prf_sess.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>prf_sess.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
</Group>
|
||||||
|
|
||||||
</ProjectOpt>
|
</ProjectOpt>
|
||||||
|
|
|
@ -456,6 +456,11 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>..\src\app_ws2812.c</FilePath>
|
<FilePath>..\src\app_ws2812.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_ble_uart_proc.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\src\app_ble_uart_proc.c</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
@ -483,6 +488,66 @@
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>ble\app</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>app.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\app\app.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_actv.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\app\app_actv.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_gapc.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\app\app_gapc.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_gapm.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\app\app_gapm.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_gatt.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\app\app_gatt.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>app_msg.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\app\app_msg.c</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>ble\lib</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>ble6.lib</FileName>
|
||||||
|
<FileType>4</FileType>
|
||||||
|
<FilePath>..\..\..\ble\lib\ble6.lib</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>ble\pre</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>prf_diss.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\prf\prf_diss.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>prf_sess.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\..\ble\prf\prf_sess.c</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
|
</Group>
|
||||||
</Groups>
|
</Groups>
|
||||||
</Target>
|
</Target>
|
||||||
</Targets>
|
</Targets>
|
||||||
|
|
|
@ -9,10 +9,12 @@
|
||||||
|
|
||||||
// 使能电平
|
// 使能电平
|
||||||
bool app_control_en[PA_MAX]={
|
bool app_control_en[PA_MAX]={
|
||||||
|
[IN_GPS] =OE_LOW, // GPS超距 /L:超出活动区域(同)
|
||||||
|
[IN_EXTI0_Custom0] =OE_LOW, // 管理员模式
|
||||||
[OUT_Door_lock] =OE_HIGH, // 开锁 /H:开锁(同)
|
[OUT_Door_lock] =OE_HIGH, // 开锁 /H:开锁(同)
|
||||||
[OUT_Push_key] =OE_HIGH, // 开启推车 /L:开启推车(反)
|
[OUT_Push_key] =OE_HIGH, // 开启推车 /L:开启推车(反)
|
||||||
[OUT_Switch_gear] =OE_LOW, // 限速/H:限速(反)
|
[OUT_Switch_gear] =OE_LOW, // 限速/H:限速(反)
|
||||||
[OUT_High_speed] =OE_HIGH, // 使能高速档位 /L:低使能(反)
|
[OUT_High_speed] =OE_LOW, // 使能高速档位 /H:高使能(反)
|
||||||
[OUT_Low_speed] =OE_HIGH, // 使能低速档位 /L:低使能(反)
|
[OUT_Low_speed] =OE_HIGH, // 使能低速档位 /L:低使能(反)
|
||||||
[OUT_Back_car] =OE_HIGH, // 使能倒车 /L:低使能倒车(反)
|
[OUT_Back_car] =OE_HIGH, // 使能倒车 /L:低使能倒车(反)
|
||||||
[OUT_Low_brake] =OE_HIGH, // 使能低制动 /L:低使能(反)
|
[OUT_Low_brake] =OE_HIGH, // 使能低制动 /L:低使能(反)
|
||||||
|
@ -59,14 +61,14 @@ void app_control_init(void){
|
||||||
|
|
||||||
// in
|
// in
|
||||||
gpio_dir_input(IN_EXTI0_Custom0, IE_UP); // Input enable, pull-up
|
gpio_dir_input(IN_EXTI0_Custom0, IE_UP); // Input enable, pull-up
|
||||||
gpio_dir_input(IN_EXTI1_Custom1, IE_UP);
|
// gpio_dir_input(IN_EXTI1_Custom1, IE_UP);
|
||||||
gpio_dir_input(IN_GPS, IE_UP);
|
gpio_dir_input(IN_GPS, IE_UP);
|
||||||
|
|
||||||
// EXTI config
|
// EXTI config
|
||||||
exti_init(EXTI_DBC(15, 4));
|
exti_init(EXTI_DBC(15, 4));
|
||||||
exti_set(EXTI_FTS, EXTI_SRC(IN_EXTI0_Custom0) | EXTI_SRC(IN_EXTI1_Custom1)); // falling
|
exti_set(EXTI_FTS, EXTI_SRC(IN_EXTI0_Custom0) | EXTI_SRC(IN_GPS)); // falling
|
||||||
exti_set(EXTI_DBE, EXTI_SRC(IN_EXTI0_Custom0) | EXTI_SRC(IN_EXTI1_Custom1));
|
exti_set(EXTI_DBE, EXTI_SRC(IN_EXTI0_Custom0) | EXTI_SRC(IN_GPS));
|
||||||
exti_set(EXTI_IER, EXTI_SRC(IN_EXTI0_Custom0) | EXTI_SRC(IN_EXTI1_Custom1));
|
exti_set(EXTI_IER, EXTI_SRC(IN_EXTI0_Custom0) | EXTI_SRC(IN_GPS));
|
||||||
|
|
||||||
// IRQ enable
|
// IRQ enable
|
||||||
NVIC_EnableIRQ(EXTI_IRQn);
|
NVIC_EnableIRQ(EXTI_IRQn);
|
||||||
|
@ -77,13 +79,13 @@ void app_control_init(void){
|
||||||
uint8_t app_get_gears_status(void){
|
uint8_t app_get_gears_status(void){
|
||||||
uint8_t ret=0;
|
uint8_t ret=0;
|
||||||
|
|
||||||
if(0 ==Get_Status(OUT_Switch_gear) && 0 ==Get_Status(OUT_High_speed) && 0 ==Get_Status(OUT_Low_speed)){
|
if(0 ==Get_Status(OUT_Switch_gear) && 1 ==Get_Status(OUT_High_speed) && 0 ==Get_Status(OUT_Low_speed)){
|
||||||
ret =0;
|
ret =0;
|
||||||
}else if(1 ==Get_Status(OUT_Switch_gear) && 0 ==Get_Status(OUT_High_speed) && 0 ==Get_Status(OUT_Low_speed)){
|
|
||||||
ret =1;
|
|
||||||
}else if(0 ==Get_Status(OUT_Switch_gear) && 0 ==Get_Status(OUT_High_speed) && 1 ==Get_Status(OUT_Low_speed)){
|
}else if(0 ==Get_Status(OUT_Switch_gear) && 0 ==Get_Status(OUT_High_speed) && 1 ==Get_Status(OUT_Low_speed)){
|
||||||
|
ret =1;
|
||||||
|
}else if(1 ==Get_Status(OUT_Switch_gear) && 0 ==Get_Status(OUT_High_speed) && 0 ==Get_Status(OUT_Low_speed)){
|
||||||
ret =2;
|
ret =2;
|
||||||
}else if(0 ==Get_Status(OUT_Switch_gear) && 1 ==Get_Status(OUT_High_speed) && 0 ==Get_Status(OUT_Low_speed)){
|
}else if(0 ==Get_Status(OUT_Switch_gear) && 0 ==Get_Status(OUT_High_speed) && 0 ==Get_Status(OUT_Low_speed)){
|
||||||
ret =3;
|
ret =3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,19 +95,19 @@ uint8_t app_get_gears_status(void){
|
||||||
uint8_t app_set_gears_status(uint8_t val){
|
uint8_t app_set_gears_status(uint8_t val){
|
||||||
if(0 ==val){ //管理员模式速度无限制
|
if(0 ==val){ //管理员模式速度无限制
|
||||||
Set_Status(OUT_Switch_gear,0);
|
Set_Status(OUT_Switch_gear,0);
|
||||||
Set_Status(OUT_High_speed,0);
|
Set_Status(OUT_High_speed,1);
|
||||||
Set_Status(OUT_Low_speed,0);
|
Set_Status(OUT_Low_speed,0);
|
||||||
}else if(1 ==val){//游客模式油门限速
|
}else if(1 ==val){//游客模式油门限速
|
||||||
Set_Status(OUT_Switch_gear,1);
|
|
||||||
Set_Status(OUT_High_speed,0);
|
|
||||||
Set_Status(OUT_Low_speed,0);
|
|
||||||
}else if(2 ==val){//低速模式
|
|
||||||
Set_Status(OUT_Switch_gear,0);
|
Set_Status(OUT_Switch_gear,0);
|
||||||
Set_Status(OUT_High_speed,0);
|
Set_Status(OUT_High_speed,0);
|
||||||
Set_Status(OUT_Low_speed,1);
|
Set_Status(OUT_Low_speed,1);
|
||||||
|
}else if(2 ==val){//低速模式
|
||||||
|
Set_Status(OUT_Switch_gear,1);
|
||||||
|
Set_Status(OUT_High_speed,0);
|
||||||
|
Set_Status(OUT_Low_speed,0);
|
||||||
}else if(3 ==val){//高速模式
|
}else if(3 ==val){//高速模式
|
||||||
Set_Status(OUT_Switch_gear,0);
|
Set_Status(OUT_Switch_gear,0);
|
||||||
Set_Status(OUT_High_speed,1);
|
Set_Status(OUT_High_speed,0);
|
||||||
Set_Status(OUT_Low_speed,0);
|
Set_Status(OUT_Low_speed,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,28 +181,23 @@ void EXTI_IRQHandler(void)
|
||||||
if (irq_sta & EXTI_SRC(IN_GPS))//
|
if (irq_sta & EXTI_SRC(IN_GPS))//
|
||||||
{
|
{
|
||||||
EXTI->ICR.Word = EXTI_SRC(IN_GPS);
|
EXTI->ICR.Word = EXTI_SRC(IN_GPS);
|
||||||
|
if(1==Get_Status(IN_GPS)){
|
||||||
/*
|
Set_Status(OUT_Door_lock,0);//GPS超出范围,直接锁车
|
||||||
custom code...
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (irq_sta & EXTI_SRC(IN_EXTI0_Custom0))
|
if (irq_sta & EXTI_SRC(IN_EXTI0_Custom0))
|
||||||
{
|
{
|
||||||
EXTI->ICR.Word = EXTI_SRC(IN_EXTI0_Custom0);
|
EXTI->ICR.Word = EXTI_SRC(IN_EXTI0_Custom0);
|
||||||
|
if(1==Get_Status(IN_EXTI0_Custom0)){ //进入管理员模式
|
||||||
/*
|
Set_Status(OUT_High_speed,1);//开启高速模式
|
||||||
custom code...
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (irq_sta & EXTI_SRC(IN_EXTI1_Custom1))
|
if (irq_sta & EXTI_SRC(IN_EXTI1_Custom1))
|
||||||
{
|
{
|
||||||
EXTI->ICR.Word = EXTI_SRC(IN_EXTI1_Custom1);
|
EXTI->ICR.Word = EXTI_SRC(IN_EXTI1_Custom1);
|
||||||
|
|
||||||
/*
|
|
||||||
custom code...
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,36 +3,36 @@
|
||||||
#include "b6x.h"
|
#include "b6x.h"
|
||||||
#include "drvs.h"
|
#include "drvs.h"
|
||||||
|
|
||||||
// // GPIO的输出需反向
|
// GPIO的输出需反向
|
||||||
// enum app_control{
|
enum app_control{
|
||||||
|
IN_GPS =PA03, // GPS输入/0:被拉低就执行锁车
|
||||||
|
IN_EXTI0_Custom0 =PA08, // 自定义输入0
|
||||||
|
IN_EXTI1_Custom1 =PA09, // 自定义输入1 /防盗检测/下降沿触发防盗
|
||||||
|
OUT_Door_lock =PA18, // 电门锁 /H:开锁
|
||||||
|
OUT_Push_key =PA14, // 推车键 /L:开启推车
|
||||||
|
OUT_Switch_gear =PA13, // 调速模式选择/H:限速模式/L:不限速
|
||||||
|
OUT_High_speed =PA11, // 高速档位 /L:低使能
|
||||||
|
OUT_Low_speed =PA12, // 低速档位 /L:低使能
|
||||||
|
OUT_Back_car =PA15, // 前进后退 /H:前进/L:后退
|
||||||
|
OUT_Low_brake =PA16, // 低制动 /L:低使能
|
||||||
|
OUT_High_brake =PA17 // 高制动 /H:低使能
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//enum app_control{
|
||||||
// IN_GPS =PA08, // GPS输入/0:锁车
|
// IN_GPS =PA08, // GPS输入/0:锁车
|
||||||
// IN_EXTI0_Custom0 =PA08, // 自定义输入0
|
// IN_EXTI0_Custom0 =PA08, // 自定义输入0
|
||||||
// IN_EXTI1_Custom1 =PA09, // 自定义输入1 /防盗检测/下降沿触发防盗
|
// IN_EXTI1_Custom1 =PA09, // 自定义输入1 /防盗检测/下降沿触发防盗
|
||||||
// OUT_Door_lock =PA18, // 电门锁 /H:开锁
|
|
||||||
// OUT_Push_key =PA14, // 推车键 /L:开启推车
|
|
||||||
// OUT_Switch_gear =PA13, // 调速模式选择/H:限速模式/L:不限速
|
|
||||||
// OUT_High_speed =PA11, // 高速档位 /L:低使能
|
|
||||||
// OUT_Low_speed =PA12, // 低速档位 /L:低使能
|
|
||||||
// OUT_Back_car =PA15, // 前进后退 /H:前进/L:后退
|
|
||||||
// OUT_Low_brake =PA16, // 低制动 /L:低使能
|
|
||||||
// OUT_High_brake =PA17 // 高制动 /H:低使能
|
|
||||||
// };
|
|
||||||
|
|
||||||
|
// OUT_Door_lock =PA13, // 电门锁 /1:开锁
|
||||||
enum app_control{
|
// OUT_Push_key =PA12, // 推车键 /1:开启推车
|
||||||
IN_GPS =PA08, // GPS输入/0:锁车
|
// OUT_Switch_gear =PA11, // 调速模式选择/1:限速模式/0:不限速
|
||||||
IN_EXTI0_Custom0 =PA08, // 自定义输入0
|
// OUT_High_speed =PA14, // 高速档位 /1:使能
|
||||||
IN_EXTI1_Custom1 =PA09, // 自定义输入1 /防盗检测/下降沿触发防盗
|
// OUT_Low_speed =PA15, // 低速档位 /1:使能
|
||||||
|
// OUT_Back_car =PA16, // 前进后退 /0:前进/1:后退
|
||||||
OUT_Door_lock =PA13, // 电门锁 /1:开锁
|
// OUT_Low_brake =PA17, // 低制动 /1:使能
|
||||||
OUT_Push_key =PA12, // 推车键 /1:开启推车
|
// OUT_High_brake =PA18 // 高制动 /1:使能
|
||||||
OUT_Switch_gear =PA11, // 调速模式选择/1:限速模式/0:不限速
|
//};
|
||||||
OUT_High_speed =PA14, // 高速档位 /1:使能
|
|
||||||
OUT_Low_speed =PA15, // 低速档位 /1:使能
|
|
||||||
OUT_Back_car =PA16, // 前进后退 /0:前进/1:后退
|
|
||||||
OUT_Low_brake =PA17, // 低制动 /1:使能
|
|
||||||
OUT_High_brake =PA18 // 高制动 /1:使能
|
|
||||||
};
|
|
||||||
|
|
||||||
extern bool app_control_en[PA_MAX];
|
extern bool app_control_en[PA_MAX];
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ static tmr_tk_t radar_timer_handler(tmr_id_t id){
|
||||||
|
|
||||||
radar_daraframe.Left_data =0;
|
radar_daraframe.Left_data =0;
|
||||||
radar_daraframe.Right_data =0;
|
radar_daraframe.Right_data =0;
|
||||||
uart_putc(UART2_PORT,'R');
|
uart_putc(UART1_PORT,'R');
|
||||||
return 0;//单次
|
return 0;//单次
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,6 +58,9 @@ static void app_uart1_hande(void){
|
||||||
break;
|
break;
|
||||||
case 0x02://油门控制
|
case 0x02://油门控制
|
||||||
if(3 ==uart1_daraframe.length){
|
if(3 ==uart1_daraframe.length){
|
||||||
|
if(1==Get_Status(IN_GPS)){
|
||||||
|
Set_Status(OUT_Door_lock,0);//GPS超出范围,直接锁车
|
||||||
|
}
|
||||||
if(app_get_Door_lock_status()){//开锁时
|
if(app_get_Door_lock_status()){//开锁时
|
||||||
if(0 > *(int8_t *)(&uart1_daraframe.data[0])){//倒车
|
if(0 > *(int8_t *)(&uart1_daraframe.data[0])){//倒车
|
||||||
if(1 == uart2_Back_car){
|
if(1 == uart2_Back_car){
|
||||||
|
@ -78,7 +81,11 @@ static void app_uart1_hande(void){
|
||||||
app_set_speed(*(int8_t *)(&uart1_daraframe.data[0]));
|
app_set_speed(*(int8_t *)(&uart1_daraframe.data[0]));
|
||||||
ret_data[0] = uart1_daraframe.data[0];//当前油门状态 倒车:-100~0 / 前进:0~100
|
ret_data[0] = uart1_daraframe.data[0];//当前油门状态 倒车:-100~0 / 前进:0~100
|
||||||
ret_data[1] = app_set_brake_status(uart1_daraframe.data[1]);//当前刹车状态
|
ret_data[1] = app_set_brake_status(uart1_daraframe.data[1]);//当前刹车状态
|
||||||
|
if(1==Get_Status(IN_EXTI0_Custom0)){
|
||||||
|
ret_data[2] = app_set_gears_status(0);//进入管理员模式
|
||||||
|
}else {
|
||||||
ret_data[2] = app_set_gears_status(uart1_daraframe.data[2]);//当前速度档位
|
ret_data[2] = app_set_gears_status(uart1_daraframe.data[2]);//当前速度档位
|
||||||
|
}
|
||||||
ret_data[3] = radar_daraframe.Left_data;
|
ret_data[3] = radar_daraframe.Left_data;
|
||||||
ret_data[4] = radar_daraframe.Right_data;
|
ret_data[4] = radar_daraframe.Right_data;
|
||||||
length = 5;
|
length = 5;
|
||||||
|
@ -239,8 +246,8 @@ static void uart2_Receive(uint8_t data)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
uart_putc(UART2_PORT,data);
|
// uart_putc(UART2_PORT,data);
|
||||||
uart_putc(UART2_PORT,'0'+uart2_state);
|
// uart_putc(UART2_PORT,'0'+uart2_state);
|
||||||
if(uart2_state == 2){
|
if(uart2_state == 2){
|
||||||
radar_daraframe.header = 0;
|
radar_daraframe.header = 0;
|
||||||
app_updata_radar();
|
app_updata_radar();
|
||||||
|
|
|
@ -52,10 +52,9 @@ void GRB_WS2812_Write_GRBs(uint8_t len, uint32_t *GRB888)
|
||||||
}
|
}
|
||||||
|
|
||||||
void GRB_WS2812_Write_color(uint8_t len, uint32_t GRB888)
|
void GRB_WS2812_Write_color(uint8_t len, uint32_t GRB888)
|
||||||
{__disable_irq();
|
{
|
||||||
GRB_WS2812_Reset();
|
GRB_WS2812_Reset();
|
||||||
while(len--)GRB_WS2812_Write_24Bits(GRB888);
|
while(len--)GRB_WS2812_Write_24Bits(GRB888);
|
||||||
__enable_irq();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@ static void sysInit(void)
|
||||||
// Todo config, if need
|
// Todo config, if need
|
||||||
iwdt_disable();
|
iwdt_disable();
|
||||||
|
|
||||||
rcc_ble_en();
|
// rcc_ble_en();
|
||||||
rcc_adc_en();
|
// rcc_adc_en();
|
||||||
|
|
||||||
rcc_fshclk_set(FSH_CLK_DPSC42);
|
rcc_fshclk_set(FSH_CLK_DPSC42);
|
||||||
APBMISC->XOSC16M_CTRL.XOSC16M_CAP_TR = 0x22;
|
APBMISC->XOSC16M_CTRL.XOSC16M_CAP_TR = 0x22;
|
||||||
|
@ -30,15 +30,15 @@ static void sysInit(void)
|
||||||
|
|
||||||
static void devInit(void)
|
static void devInit(void)
|
||||||
{
|
{
|
||||||
uint16_t rsn = rstrsn();
|
// uint16_t rsn = rstrsn();
|
||||||
|
|
||||||
// dbgInit();
|
// dbgInit();
|
||||||
// debug("Start(rsn:0x%X)...\r\n", rsn);
|
// debug("Start(rsn:0x%X)...\r\n", rsn);
|
||||||
|
|
||||||
// Init BLE App
|
// Init BLE App
|
||||||
app_init(rsn);
|
// app_init(rsn);
|
||||||
|
|
||||||
rf_pa_set(0x0C);
|
// rf_pa_set(0x0C);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,9 +47,9 @@ static tmr_tk_t test_timer_handler(tmr_id_t id){
|
||||||
|
|
||||||
(void)(id);
|
(void)(id);
|
||||||
|
|
||||||
// GRB_WS2812_Write_GRBs(WS2812_GRBs.len ,WS2812_GRBs.GRBs);
|
GRB_WS2812_Write_GRBs(WS2812_GRBs.len ,WS2812_GRBs.GRBs);
|
||||||
GRB_WS2812_Write_color(BLE_WS2812_GRBs.len,BLE_WS2812_GRBs.GRBs);
|
// GRB_WS2812_Write_color(BLE_WS2812_GRBs.len,BLE_WS2812_GRBs.GRBs);
|
||||||
return 100;
|
return 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
|
@ -63,11 +63,11 @@ int main(void)
|
||||||
|
|
||||||
app_control_init();
|
app_control_init();
|
||||||
app_speed_governing_init(0);
|
app_speed_governing_init(0);
|
||||||
// app_uart_Init(UART1_PORT,115200,PA06,PA07);//上位机
|
app_uart_Init(UART1_PORT,115200,PA06,PA07);//上位机
|
||||||
// app_uart_Init(UART2_PORT,9600,PA03,PA04);//倒车雷达
|
app_uart_Init(UART2_PORT,9600,20,PA04);//倒车雷达
|
||||||
|
|
||||||
app_uart_Init(UART1_PORT,115200,PA03,PA04);//上位机
|
// app_uart_Init(UART1_PORT,115200,PA03,PA04);//上位机
|
||||||
app_uart_Init(UART2_PORT,9600,PA06,PA07);//倒车雷达
|
// app_uart_Init(UART2_PORT,9600,PA06,PA07);//倒车雷达
|
||||||
|
|
||||||
bootDelayMs(1000);
|
bootDelayMs(1000);
|
||||||
GRB_WS2812_Init();
|
GRB_WS2812_Init();
|
||||||
|
@ -76,11 +76,11 @@ int main(void)
|
||||||
// SoftTimer Polling
|
// SoftTimer Polling
|
||||||
sftmr_schedule();
|
sftmr_schedule();
|
||||||
// Schedule Messages & Events
|
// Schedule Messages & Events
|
||||||
ble_schedule();
|
// ble_schedule();
|
||||||
|
|
||||||
|
|
||||||
// User's Procedure
|
// User's Procedure
|
||||||
app_ble_procedure();
|
// app_ble_procedure();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue