generated from Template/H563ZI-HAL-CMake-Template
Add ble,gps,imu and others in threadx,need test
This commit is contained in:
@@ -43,26 +43,70 @@
|
||||
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
/* USER CODE BEGIN PV */
|
||||
/* ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/* ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
TX_QUEUE ble_tx_queue;
|
||||
TX_EVENT_FLAGS_GROUP system_events;
|
||||
MotorCommand current_motor_cmd = {0,0};
|
||||
_GPSData gps_data;
|
||||
|
||||
|
||||
/* <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t msg_type; // 1=GPS<50><53><EFBFBD>ݣ<EFBFBD>2=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>3=״̬<D7B4><CCAC>Ϣ
|
||||
char data[128];
|
||||
}BLE_Message;
|
||||
|
||||
|
||||
/* USER CODE END PV */
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
/* USER CODE BEGIN PFP */
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>app_thread.c<><63>
|
||||
// #define task_test 1
|
||||
#ifdef TEST //Ŀǰ<C4BF><C7B0><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>
|
||||
|
||||
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
/* USER CODE BEGIN 1 */
|
||||
void main_control_thread_entry(ULONG thread_input)
|
||||
{
|
||||
ULONG events;
|
||||
MotorCommand motor_cmd = {0, 0};
|
||||
|
||||
while(1)
|
||||
{
|
||||
// 等待事件发生
|
||||
tx_event_flags_get(&system_events,
|
||||
EVENT_OBSTACLE_DETECTED | EVENT_BLE_COMMAND_RECEIVED,
|
||||
TX_OR_CLEAR, &events, TX_WAIT_FOREVER);
|
||||
|
||||
// 处理障碍物事件
|
||||
if(events & EVENT_OBSTACLE_DETECTED)
|
||||
{
|
||||
// 触发蜂鸣器和振动提示
|
||||
Buzzer_Open();
|
||||
Shake_Motor_Open();
|
||||
tx_thread_sleep(100); // 振动100ms
|
||||
Buzzer_Close();
|
||||
Shake_Motor_Close();
|
||||
|
||||
// 发送报警到手机
|
||||
BLE_Message msg;
|
||||
msg.msg_type = 2;
|
||||
snprintf(msg.data, sizeof(msg.data), "#{\"alert\":\"Obstacle detected!\"}\n");
|
||||
tx_queue_send(&ble_tx_queue, &msg, TX_WAIT_FOREVER);
|
||||
}
|
||||
|
||||
// 处理蓝牙控制指令
|
||||
if(events & EVENT_BLE_COMMAND_RECEIVED)
|
||||
{
|
||||
// 从队列获取电机命令
|
||||
// tx_queue_receive(&ble_rx_queue, &motor_cmd, TX_WAIT_FOREVER);
|
||||
|
||||
// 实际控制电机 (伪代码)
|
||||
// set_motor_speed(motor_cmd.leftSpeed, motor_cmd.rightSpeed);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* USER CODE END 1 */
|
||||
/* USER CODE END 1 */
|
||||
|
||||
#endif
|
||||
/* USER CODE END PFP */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user