前面介绍了数据的显示与更新,这次要说是波形曲线的绘制。
要实现数据曲线的绘制,其方法也很简单,就是向指定的通道发送相应的数据。
以向通道0发送数据120,其指令为:
61 64 64 20 31 37 2C 30 2C 31 32 30 FF FF FF
即:add 17,0,120 0xff 0xff 0xff
实现波形绘制的测试效果如图3所示,其中通道0为粉色,通道1为黄色,通道2为红色。
图3 波形测试
绘制锯齿波曲线的程序为:
- i=0;
- while (1)
- {
- HT[9]=(i%1000)/100+0x30;
- HT[10]=(i%100)/10+0x30;
- HT[11]=i%10+0x30;
- LPUART_WriteBlocking(DEMO_LPUART, HT, 15);
- i=(i+1)%252;
- }
-
图5 绘制波形
演示视频:
播放器加载失败: 未检测到Flash Player,请到
安装
jcb
绘制温度曲线的程序为:
- while (1)
- {
- result = P3T1755_ReadTemperature(&p3t1755Handle, &temperature);
- if (result == kStatus_Success)
- {
-
- wd=250-temperature*2;
- HT[9]=(wd%1000)/100+0x30;
- HT[10]=(wd%100)/10+0x30;
- HT[11]=wd%10+0x30;
- LPUART_WriteBlocking(DEMO_LPUART, HT, 15);
- }
- SDK_DelayAtLeastUs(1000000, CLOCK_GetCoreSysClkFreq());
- }
绘制采集数据曲线的程序为:
- while (1)
- {
- LPADC_DoSoftwareTrigger(DEMO_LPADC_BASE, 1U);
- while (!LPADC_GetConvResult(DEMO_LPADC_BASE, &mLpadcResultConfigStruct));
- ad=250-((mLpadcResultConfigStruct.convValue) >> g_LpadcResultShift)/32;
- HT[9]=(ad%1000)/100+0x30;
- HT[10]=(ad%100)/10+0x30;
- HT[11]=ad%10+0x30;
- LPUART_WriteBlocking(DEMO_LPUART, HT, 15);
- SDK_DelayAtLeastUs(1000000, CLOCK_GetCoreSysClkFreq());
- }
-