Matlab环境下PC与单片机的串行通信及数据处理
[09-12 17:52:37] 来源:http://www.88dzw.com 单片机学习 阅读:8668次
文章摘要:本通信系统中规定的字符格式为:每一帧的数据占10位——1位起始位,8位数据位,1位停止位,无奇偶校验位。中间的8位数据位即为有效的通信传输字节。双方的波特率设置为115.2kb/s,以较高速度进行通信。同时,为了增强通信的可靠性、减少通信的误码率,在通信过程中约定了双方的软件握手方法。为了不致使通信过于复杂,提高通信速度,可以直接将握手信号0xFF嵌入到数据包中。软件握手协议规定如下:PC机发送符合握手信号0xFF给单片机,PIC单片机接收到的上位机数据若为握手信号0xFF,则回送两次A/D采样数据包,并将握手信号0xFF嵌入到数据包作为第一个数据,两次发送数据的时间间隔为5ms;单片机接收到
Matlab环境下PC与单片机的串行通信及数据处理,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com本通信系统中规定的字符格式为:每一帧的数据占10位——1位起始位,8位数据位,1位停止位,无奇偶校验位。中间的8位数据位即为有效的通信传输字节。双方的波特率设置为115.2kb/s,以较高速度进行通信。同时,为了增强通信的可靠性、减少通信的误码率,在通信过程中约定了双方的软件握手方法。为了不致使通信过于复杂,提高通信速度,可以直接将握手信号0xFF嵌入到数据包中。软件握手协议规定如下:PC机发送符合握手信号0xFF给单片机,PIC单片机接收到的上位机数据若为握手信号0xFF,则回送两次A/D采样数据包,并将握手信号0xFF嵌入到数据包作为第一个数据,两次发送数据的时间间隔为5ms;单片机接收到的上位机数据若不是握手信号,则继续等待。若PC机接收到的数据包的第1个字节不是0xFF,则屏弃该数据包;若是,则表示握手成功,经校验正确后将该数据包直接存储接收,并从中分解有效的A/D采样数据信息。
PIC16F876端串行通信的C语言程序流程如图3所示,相应的主要通信源代码如下:
//串口相关寄存器的初始化子程序
void sci_initial(){
SPBRG=0C0A; //设置通信波特率为115.2kb/s
TXSTA=0X04; //选择异步高速通信模式
RCSTA=0x80; //串行口使能,接收数据长度为8位,无奇偶校验
TRISC6=0; //RC6引脚设置为输出方式
TRISC7=1; //PC7引脚设置为输入方式
}
//串口接收和发送数据子程序
void sci_com(){
while(!RCIF); //查询接收中断标志位,等待上位机发送的串口数据
rec_data[0]=RCREG;//接收串口数据
if(rec_data[0]==0xFF){
send_data[0]=rec_data[0]; //在第1组数据中嵌入回送握手数据0xFF
for(j=0;j<33;j++){
TXREG=send_data[j]; //发送第1组32字节的A/D
转换数据,包含握手信号0xFF为33个字节数据
while(!TXIF); //查询发送标志位,等待数据发送完毕再进行下一次数据发送
}
delay_ms(5); //PIC单片机定时5ms发送第2组A/D转换数据
send1_data[0]=rec_data[0]; //在第2组数据中嵌入回送握手数据0xFF
for(j=0;j<33;j++){
TXREG=send1_data[j];//发送第2组32个字节A/D转换数据及握手信号数据
While(!TXIF); //查询发送标志位,等待数据发送完毕再进行下一次数据发送
}
}
}
3 Matlab环境下PC机与单片机的通信
在Matlab6.0中新增的设备控制工具条(Instrument control toolbox)用来负责上、下位机之间的通信。该设备控制工具箱的特色如下:
①支持基于串行接口(RS-232、RS-422、RS-485)、GPIB总线(IEEE2488、HPIB标准)、VISA总线的通信;
②通信数据支持二进制和文本(ASCII)两种方式,文本方式支持SCPI(Standard Commands for Programmable Instruments)语言;
- 上一篇:单片机实现对CF卡的读写
《Matlab环境下PC与单片机的串行通信及数据处理》相关文章
- › VB调用Matlab在WEDM仿真系统中的应用
- › Matlab与C/C++混合编程接口及应用
- › VC++和Matlab混合编程的语音识别研究
- › 基于Matlab和Simulink仿真环境的CANbus专用工具包
- › Matlab环境下PC与单片机的串行通信及数据处理
- › VB与MATLAB混合编程探讨
- 在百度中搜索相关文章:Matlab环境下PC与单片机的串行通信及数据处理
- 在谷歌中搜索相关文章:Matlab环境下PC与单片机的串行通信及数据处理
- 在soso中搜索相关文章:Matlab环境下PC与单片机的串行通信及数据处理
- 在搜狗中搜索相关文章:Matlab环境下PC与单片机的串行通信及数据处理