打印

D12的上位机程序如何在中断中进行?

[复制链接]
1552|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1dqmoon|  楼主 | 2008-3-3 21:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到的这个程序


void CPC_SimpleDlg::OnSend() 
{
    unsigned char sendbuf[10] = {0x01,0x01,0x02,0x03,0x04,
                                 0x05,0x06,0x07,0x08,0x09};    
                                            //发送的数据
    unsigned char recbuf[10];                //接收缓冲区

    for (int i = 0; i < 10; i++)        
        recbuf = 0;                        //清空接收缓冲区
    int ret;
    ret = WriteData(3,sendbuf,1,1000);
    if (ret != 1)                            //发送10个字节
    {
        MessageBox("发送数据错误!");    
        return;
    }

    ret = ReadData(2,recbuf,8,1000);        //接收10个字节
    if (ret != 8)
    {
        MessageBox("接收数据错误!");
        return;
    }

    m_ReceiveByte = "";                        //显示收到的字节
    for (i = 0; i < 10; i++)
        m_ReceiveByte.Format("%s",recbuf);
        //m_ReceiveByte += IntToASCII(recbuf) + " ";

    UpdateData(FALSE);        

}



可以理解为,上位机发送数据后,等待slave发送数据

有没有办法用中断方式, slave发送数据后, 上位机接收数据,不用查询的方式.

相关帖子

沙发
2_1_I_C| | 2008-3-14 10:39 | 只看该作者

有的

你可以参看一下周立功的D21TEST软件

使用特权

评论回复
板凳
computer00| | 2008-3-15 00:50 | 只看该作者

可以,使用异步读操作,并设置回调函数。

当读数据时,驱动程序会立即返回一个STATUS_PENDING错误代码。当有数据返回时,驱动程序就会调用你设置的回调函数。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

253

帖子

0

粉丝