关于点阵上位机的,求指点
时间:10-02
整理:3721RD
点击:
我用VC写了一个上位机程序,输入的点阵码转化为16进制的数据发送到单片机,由显示的数组接受,我采用串口中断,接受字符程序如下,本意是希望从上位机发送16*16点阵数据,进而显示,这样就可以灵活控制单片机的显示。
void rece()
{
uchar i;
i=0;
do
{
while(RI==0) ;
tab[i]=SBUF;
RI=0;
i++ ;
}while(tab[i-1]!=0xff);
}
上位机中发送数据
void CKpdianzhenDlg::OnOK()
{
// TODO: Add extra validation here
CByteArray hexdata;
UpdateData(true);
int len=str2HEX(m_send,hexdata);
UpdateData(false);
m_ctrlComm.SetOutput(COleVariant(hexdata));
}其中str2HEX是将字符串转为16进制,
按如上程序我发现偶尔能置换tab[]数组,但是是一对乱;
请我这样的思路有错吗?问题出在哪里了,有经验的能给点意见吗,有这方面的代码能给参考下吗
void rece()
{
uchar i;
i=0;
do
{
while(RI==0) ;
tab[i]=SBUF;
RI=0;
i++ ;
}while(tab[i-1]!=0xff);
}
上位机中发送数据
void CKpdianzhenDlg::OnOK()
{
// TODO: Add extra validation here
CByteArray hexdata;
UpdateData(true);
int len=str2HEX(m_send,hexdata);
UpdateData(false);
m_ctrlComm.SetOutput(COleVariant(hexdata));
}其中str2HEX是将字符串转为16进制,
按如上程序我发现偶尔能置换tab[]数组,但是是一对乱;
请我这样的思路有错吗?问题出在哪里了,有经验的能给点意见吗,有这方面的代码能给参考下吗
忘记贴转16进制的代码,不过应该没错。
有上位机吗? 给我下1159552142@qq.com谢谢