不允许使用GRAPH_DATA_YT_Create和GRAPH_AttachData函数
时间: 2023-08-03 09:04:08 浏览: 53
好的,如果您不能使用GRAPH_DATA_YT_Create和GRAPH_AttachData函数,您可以使用下面的代码手动绘制波形图:
```c
uint32_t wave_data[100]; //存储波形图数据
int graph_x_start = 0; //波形图绘制的左边界位置
//在波形图上绘制一条新的数据线
void draw_new_wave_line(void)
{
//获取波形图控件句柄
GRAPH_Handle hGraph;
hGraph = WM_GetDialogItem(pMsg->hWin, GUI_ID_GRAPH0);
//创建一个新的绘图数据对象
GRAPH_DATA_Handle hData;
hData = GRAPH_DATA_XY_Create(GUI_RED, 100, NULL, 0);
//将新的数据线添加到波形图上
GRAPH_AttachData(hGraph, hData);
//更新波形图数据
for(int i = 0; i < 100; i++)
{
GRAPH_DATA_Y(hData, i) = wave_data[i];
GRAPH_DATA_X(hData, i) = graph_x_start + i;
}
//使波形图滚动到最新的数据位置
graph_x_start++;
GRAPH_SCROLL(hGraph, -1, 0);
}
```
然后,您需要定期更新波形图数据,例如:
```c
//从传感器读取波形图数据
for(int i = 0; i < 100; i++)
{
wave_data[i] = read_wave_data();
}
//绘制新的数据线
draw_new_wave_line();
```
以上是手动绘制波形图的示例代码,您可以根据自己的需求进行修改和优化。希望我的回答能对您有所帮助。