【摘要】:主站和SPC3 通过默认的服务存取点交换数据,在此过程中SPC3 需要完成的任务主要包括:1.SPC3 将输出数据写入D缓冲区中,并且交换D 和N缓冲区的数据;2.产生DX_OUT 中断;3.用户交换N 缓冲区和U(用户)缓冲区中的数据,从U 缓冲区中获取输出数据。在输入数据传送前,用户主程序首先要用DPS2_GET_DIN_BUF_PTR()取得输入缓冲区的指针,用SPS2_INPUT_UPDATE()用户可以重复的将输入数据从用户端传送到SPC3 协议芯片,并取得可用的输入缓冲区指针,用户接收新的输入数据。
主站和SPC3 通过默认的服务存取点交换数据,在此过程中SPC3 需要完成的任务主要包括:
1.SPC3 将输出数据写入D(数据传输)缓冲区中,并且交换D 和N(下一个状态)缓冲区的数据;
2.产生DX_OUT 中断;
3.用户交换N 缓冲区和U(用户)缓冲区中的数据,从U 缓冲区中获取输出数据。(www.xing528.com)
第一步由SPC3 自动完成,用DPS2_POLL_IND_DX_OUT()读取中断请求寄存器查询中断事件,为真时,表示SPC3接收到Write_Read_Data 报文,并使N 输出缓冲区中的输出数据有效。用DPS2_OUTPUT_UPDATE()更新输出缓冲区,即将N 缓冲区中的数据送到U 缓冲区中。输出数据中并不包括输出数据的长度,但必须和DPS2_SET_IO_DATA()定义的数据长度一致,当长度不一致时,从站将会返回到等待参数赋值状态。
在输入数据传送前,用户主程序首先要用DPS2_GET_DIN_BUF_PTR()取得输入缓冲区的指针,用SPS2_INPUT_UPDATE()用户可以重复的将输入数据从用户端传送到SPC3 协议芯片,并取得可用的输入缓冲区指针,用户接收新的输入数据。输入数据中并不包括输入数据的长度,但输入数据必须和DPS2_SET_IO_DATA_LEN()定义的长度一致。
部分程序如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。