📄 volt.c
字号:
/*
****************************************************
交流电压有效值测量
****************************************************
*/
#include <reg52.H>
#include <rtx51tny.h>
#include "Typedef.H"
#include "UserDef.H"
#include "disp.h"
#include "LTC1860.h"
#include <math.h>
/* 被测信号定义 */
#define T_SELECT 100 // 采样时间
/* 私有全局变量 */
static INT8U sig_targ; // 显示任务的任务号
/***************************************************
按键任务
****************************************************/
static void TaskVolt(void) _task_ TASK_VOLT
{
INT32S ni,cnt;
INT16U ADn;
cnt = 0;
/* 显示界面固定文字显示 */
DISP_REQ;
dm.x = 0;
dm.y = 0;
dm.font = 1;
dm.DData = "Peak="; //交流成分的峰/谷值
dm.type = DTYPE_STR;
os_send_signal(sig_targ);
while (1)
{
os_wait(K_TMO,T_SELECT,0); //采样周期
/* 采样 */
ADn = LTC1860();
DISP_REQ;
dm.x = 0;
dm.y = 50;
dm.font = 1;
ni = ADn;
dm.DData = ∋
dm.len = 4;
dm.type = DTYPE_INT32S;
os_send_signal(sig_targ);
DISP_REQ;
dm.x = 4;
dm.y = 50;
dm.font = 1;
ni = cnt;
dm.DData = ∋
dm.len = 4;
dm.type = DTYPE_INT32S;
os_send_signal(sig_targ);
cnt ++;
}
}
/***************************************************
任务创建函数
signal_target_task 接收键盘信号的任务编号
****************************************************/
void TaskCreate_Volt(INT8U signal_target_task)
{
sig_targ = signal_target_task;
os_create_task(TASK_VOLT);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -