关闭蓝牙透传功能,增加IN1输入低进入高速模式功能 zsxfly20240419

This commit is contained in:
zsxfly 2024-04-19 15:13:25 +08:00
parent b5bba5e376
commit 51c94996e0
10 changed files with 4303 additions and 76 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -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>

View File

@ -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>

View File

@ -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...
*/
} }
} }

View File

@ -3,37 +3,37 @@
#include "b6x.h" #include "b6x.h"
#include "drvs.h" #include "drvs.h"
// // GPIO的输出需反向 // GPIO的输出需反向
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{ //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_Door_lock =PA13, // 电门锁 /1:开锁
// OUT_Switch_gear =PA13, // 调速模式选择/H:限速模式/L:不限速 // OUT_Push_key =PA12, // 推车键 /1:开启推车
// OUT_High_speed =PA11, // 高速档位 /L:低使能 // OUT_Switch_gear =PA11, // 调速模式选择/1:限速模式/0:不限速
// OUT_Low_speed =PA12, // 低速档位 /L:低使能 // OUT_High_speed =PA14, // 高速档位 /1:使能
// OUT_Back_car =PA15, // 前进后退 /H:前进/L:后退 // OUT_Low_speed =PA15, // 低速档位 /1:使能
// OUT_Low_brake =PA16, // 低制动 /L:低使能 // OUT_Back_car =PA16, // 前进后退 /0:前进/1:后退
// OUT_High_brake =PA17 // 高制动 /H:低使能 // OUT_Low_brake =PA17, // 低制动 /1:使能
// OUT_High_brake =PA18 // 高制动 /1:使能
//}; //};
enum app_control{
IN_GPS =PA08, // GPS输入/0:锁车
IN_EXTI0_Custom0 =PA08, // 自定义输入0
IN_EXTI1_Custom1 =PA09, // 自定义输入1 /防盗检测/下降沿触发防盗
OUT_Door_lock =PA13, // 电门锁 /1:开锁
OUT_Push_key =PA12, // 推车键 /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];
//写1使能,写0失能 //写1使能,写0失能

View File

@ -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;//单次
} }

View File

@ -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();

View File

@ -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();
} }

View File

@ -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();
} }
} }