在用VC 6.0做一个信号发生器的项目,读取大播表中的数据到二进制数据块,然后下发给信号发生器,使其按照大波表来输出波形。控制命令为:
:DATA:DAC16 VOLATILE, END,#532768<binary-block-data>
大波表的数据要读到<binary-block-data>中,数据范围0000~3FFF,
命令发下去总是提示命令错误,不知道具体错在哪里,所以想捕获一下发下去的播表数据,看是不是问题出在那。
但是不知道怎么来实现捕获,按照下图的效果来查看:请有经验的高手给与帮助,具体点,求代码,谢谢
:DATA:DAC16 VOLATILE, END,#532768<binary-block-data>
大波表的数据要读到<binary-block-data>中,数据范围0000~3FFF,
命令发下去总是提示命令错误,不知道具体错在哪里,所以想捕获一下发下去的播表数据,看是不是问题出在那。
但是不知道怎么来实现捕获,按照下图的效果来查看:请有经验的高手给与帮助,具体点,求代码,谢谢
解决方案 »
- 一个类有2个构造函数,用new分配N个对象的同时如何初始化
- 紧急求助:vc上实现串口接收数据
- 关于__try __finally,请教
- 对话框画图
- 当我用FindFirstFile时会出现问题!!求解决方法!
- 小问题
- 我有摄像头和麦克风,请问哪个软件能同时抓取视频和音频,即录制有声视频文件?
- 有没有高手知道C++里虚函数实现的方法?
- 为什么我安装了WINPCAP3。0 BETA,在98上根本不运行?
- 怎么限制一个窗口可拉伸的范围??
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115): fa
- 二进制文件在7寸触摸屏上的图像显示(放大缩小)
#include <string.h>
void HexDumpToBuf(char *sbuf,char *buf,int len,int addr) {
int i,j,k,L;
char binstr[80]; L=0;
for (i=0;i<len;i++) {
if (0==(i%16)) {
sprintf(binstr,"%08x -",i+addr);
sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);
} else if (15==(i%16)) {
sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);
sprintf(binstr,"%s ",binstr);
for (j=i-15;j<=i;j++) {
sprintf(binstr,"%s%c",binstr,('!'<buf[j]&&buf[j]<='~')?buf[j]:'.');
}
L+=sprintf(sbuf+L,"%s\n",binstr);
if (L>=10000) return;
} else {
sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);
}
}
if (0!=(i%16)) {
k=16-(i%16);
for (j=0;j<k;j++) {
sprintf(binstr,"%s ",binstr);
}
sprintf(binstr,"%s ",binstr);
k=16-k;
for (j=i-k;j<i;j++) {
sprintf(binstr,"%s%c",binstr,('!'<buf[j]&&buf[j]<='~')?buf[j]:'.');
}
L+=sprintf(sbuf+L,"%s\n",binstr);
if (L>=10000) return;
}
}
int main() {
char str[1024];
char buf[10240];
int flag=1;
int datalen=3;
int data[3]={1,2,3};
int i,L;
L=sprintf(str,"DATA:VOLETILE%d,%d",flag,datalen);
for (i=0;i<datalen;i++) memcpy(str+L+i*sizeof(int),&data[i],sizeof(int));
HexDumpToBuf(buf,str,L+3*sizeof(int),0);
printf("%s",buf);
return 0;
}
//00000000 - 44 41 54 41 3a 56 4f 4c 45 54 49 4c 45 31 2c 33 DATA:VOLETILE1,3
//00000010 - 01 00 00 00 02 00 00 00 03 00 00 00 ............
//