第一次提交
This commit is contained in:
83
app/app_ultrasonic.c
Normal file
83
app/app_ultrasonic.c
Normal file
@@ -0,0 +1,83 @@
|
||||
#include "app_config.h"
|
||||
#include "app_dependence.h"
|
||||
#include "interface.h"
|
||||
|
||||
#include "app_frm_monitor.h"
|
||||
#include "app_frm_signal.h"
|
||||
#include "app_frm_timer.h"
|
||||
|
||||
#include "sdrv_vic.h"
|
||||
#include "app_ultrasonic.h"
|
||||
|
||||
|
||||
// 定时器结构体
|
||||
Timer ultrasonic_timer;
|
||||
Timer ultrasonic_timer1;
|
||||
|
||||
uint16_t fornt_distance = 0;//mm
|
||||
|
||||
// 定时器信号处理函数
|
||||
void ultrasonicTimer1Process(void *signal_id)
|
||||
{
|
||||
(void)signal_id; // 标记变量为已使用,避免编译器警告
|
||||
|
||||
printf("fornt distance = %d\n",fornt_distance);
|
||||
|
||||
|
||||
timerStart(&ultrasonic_timer1, 1000,1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 定时器信号处理函数
|
||||
void ultrasonicTimerProcess(void *signal_id)
|
||||
{
|
||||
(void)signal_id; // 标记变量为已使用,避免编译器警告
|
||||
|
||||
un_ultrasonic_output1.bit_data.node = ULTRASONIC_FRONT_NODE;
|
||||
un_ultrasonic_output1.bit_data.function_code = ULTRASONIC_READ;
|
||||
un_ultrasonic_output1.bit_data.register_address = REALTIME_DISTANCE_REG;
|
||||
un_ultrasonic_output1.bit_data.data = 0x100;
|
||||
publishMessage(&un_ultrasonic_output1, 1);
|
||||
|
||||
timerStart(&ultrasonic_timer, 200,1);
|
||||
}
|
||||
|
||||
void ultrasonicInput(void *signal_id)
|
||||
{
|
||||
if(signal_id == &un_ultrasonic_input1)
|
||||
{
|
||||
fornt_distance = SWAP_ENDIAN_16(un_ultrasonic_input1.bit_data.data);//高低字节交换
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// APP模块的初始化
|
||||
void ultrasonicAppInit(void)
|
||||
{
|
||||
// 初始化定时器
|
||||
timerInit(&ultrasonic_timer);
|
||||
timerInit(&ultrasonic_timer1);
|
||||
// 订阅定时器信号
|
||||
subscribe(&ultrasonic_timer, ultrasonicTimerProcess);
|
||||
subscribe(&ultrasonic_timer1, ultrasonicTimer1Process);
|
||||
|
||||
subscribe(&un_ultrasonic_input1, ultrasonicInput);
|
||||
printf("ultrasonicAPP: initial OK %d\n",getCurrentTime());
|
||||
timerStart(&ultrasonic_timer, 200,1);
|
||||
timerStart(&ultrasonic_timer1, 1000,1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user