通过访问串行口实现MATLAB发送手机短信

通过访问串行口实现MATLAB发送手机短信
通过访问串行口实现MATLAB发送手机短信

电脑发短信的方法

演示:熟练掌握 Outlook 手机信息服务 适用于: Microsoft Office Outlook 2007 播放演示 (加载演示时可能会出现延迟。) Microsoft Office Outlook 2007手机信 息服务是Office 2007的一项全新功能,她使 Outlook用户能够方便地与手机相联系。利用Outlook手机信息服务,您不仅能够将短信或彩信从计算机发送到手机,而且可以从手机回复到计算机。除了直接发送短信/彩信功能之外,您还能够将电子邮件、联系人、约会和任务等信息作为短信或彩信转发到手机上。而且,只要您携带手机,就能够以短信或彩信方式自动接收重要的电子邮件、提示信息和日程安排信息。 Outlook手机信息服务让您能够随时随地充分利用Outlook 2007的强大功能!利用Outlook手机信息服务,无论您是在公司、约见客户,还是在旅途中,您都能在需要时访问公司信息,从而保持信息的通畅以及更好的响应能力。 您可以立即开始使用Outlook手机信息服务,因为您所需要用到的所有工具就是Outlook 2007和一部支持短信功能的手机。不需要购买任何新的软件或硬件。而且,您能够跨越多种应用程序、网络和设备体验自由沟通带来的方便。 Outlook手机信息服务使您轻松保持最新状态掌控信息与时间。您能够轻松使用Outlook手机信息服务,将日程安排信息、提示信息和电子邮件转发至您的手机。 您不仅能够控制信息需求的时间,而且能够根据发件人、紧急程度或主题来进行筛选。这样,您就可以依照自己的实际需要而适时接收信息,保持随时随地联系畅通。 Outlook 手机信息服务是一个易于使用的保持Outlook用户和手机用户联系的解决方案,使用Outlook手机信息服务您能够随时保持联系,及

单片机串口发送数据帧_0

单片机串口发送数据帧 很少看到有资料写如何以中断的方式发送一帧数据,如果以等待的发送数据帧,对高速运行的单片机来说是很浪费时间的,下面就介绍一种使用中断方式发送数据帧,操作平台采用51 mcu 首先定义一个数据帧的结构体,该结构体可以做为一个全局变量,所有的发送都要经过这个结构体: //结构体 struct { char busy_falg;//忙标志,若在发送数据时置位1,即在开始发送置位1,发送结束置位0 int index;//索引,指向需要发送数组的位置 int length;//整个数据帧的长度 char *buf;//指向需要发送的数据帧,建议为全局变量,否则一旦开始发送,必须等到发送结束,即判断busy_falg 为0 } send_buf; 发送数据的函数,这里有个缺点,就是还是要使用while 来检测串口是否忙碌,不过这样比占用系统时间来发送要好的多了:

//发送一帧 void SendBuf(char *buf,int length) { while(busy_falg);//查询发送是否忙,否则循环等待 send_buf.length = length; send_buf.index = 0; send_buf.buf = buf; send_buf.busy_falg = 1; SBUF = send_buf.buf[0];//写入SBUF,开始发送,后面就自动进入中断发送 } 串口中断发送函数,注意设置空闲标志位,避免多任务时多个发送帧调用了同一个结构体: void SerialInt() interrupt 4 //串口中断 { if(RI == 1)//串口接收 { RI = 0; } else if(TI == 1)//串口发送 { TI = 0;

基于MATLAB实时串口数据采集与曲线显示

全日制普通本科生毕业设计 基于MATLAB实时串口数据采集与曲线显示REAL-TIME SERIAL DATA ACQUISITION AND FIGURE SHOW BASED ON MATLAB 学生姓名: 学号: 年级专业及班级: 指导老师及职称: 学院: 提交日期:2011年5月

全日制普通本科生毕业论文(设计) 诚信声明 本人郑重声明:所呈交的本科毕业论文(设计)是本人在指导老师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示了谢意。本人完全意识到本声明的法律结果由本人承担。 毕业论文(设计)作者签名: 年月日

目录 摘要 (1) 关键词 (1) 1前言 (2) 1.1 Matlab实时串口数据采集研究现状及发展趋势 (2) 1.2研究的目的和意义 (4) 1.3论文的组织结构 (5) 2Matlab下实时串口数据采集概要 (5) 2.1 Matlab的Serial类 (5) 2.2 数据采集 (6) 2.3曲线显示 (7) 3实时串口数据采集与曲线显示的实现 (8) 3.1实时串口通信的实现 (8) 3.2数据采集的实现 (9) 3.3曲线显示GUI的实现 (10) 4基于MATLAB的实时串口数据采集与曲线显示的具体做法 (12) 4.1数据采集的一般流程 (12) 4.1.1创建接口对象并设置属性 (12) 4.1.2打开串口设备对象 (12) 4.1.3读写串口操作 (13) 4.1.4关闭并清除设备对象 (13) 4.2基于Matlab中断方式的实时串行通信编程 (13) 4.3绘制采集数据的曲线波形和数据显示 (14) 4.3.1绘制曲线波形 (14)

Matlab与51单片机的串口通信

数字信号处理2012电子信息工程专业答辩报告

Matlab与51单片机的串口通信 一、简介 从Matlab6.0版本开始,Mathworks公司在软件中增加了设备控制箱(instrument control toolbox),提供了对RS-232/RS-485通信标准串口(九针串口)通信正式支持(本实验采用USB转串口)利用该工具箱serial类及instrcallback()回调函数,能可靠地进行实时串地通信。Matlab支持面向对象技术,用一个对象将计算机串口封装起来,只要创建串口对象,对串口对象操作就是对串口操作,非常方便。使用serial函数就可创建串口对象,通过定义串口对象的属性,能定义串口的通信模式,从串口对象属性也能了解串口的状态,即可以通过MATLAB的串口通讯函数读写数据。 二、 Matlab串口函数 serial 创建一个串口对象,格式:s = serial('coml' ) fopen 打开串口对象,格式:fopen(s) fwrite 其他程序能对该串口进行读写操作fwrite(s,’’) fread 读取串口数据,格式: fread(s) fclose 关闭串口对象,格式:fclose(s) free 解除Matlab对串口对象的控制,使 delete 删除对象s,格式:delete(s) clear 从工作空间中删除对象s,格式:clear(s) 三、实现功能 利用MATLAB串口通信函数,读写51单片机(STC89C52R+)数据,运用keil编写时钟程序,烧录到单片机中,时钟程序实现的功能是实现时钟的显示,并且能用开发板上的三个按钮进行时钟的修改,一个按钮进入修改模式(复位),另两个实现时间的增减。编辑MATLAB程序,实现对单片机的控制。读写串口操作。初始化并打开串口调协对象之后,现在可以对串口设备对象进行读写操作,串口读写操作支持二进制和文本(ASCII)两种方式。当Matlab通信数据采用西方(ASCII)方式时,读写串口设备命令分别是fscanf、fpritf;当Matlab通信数据采用二进制方式时,读写串口设备命令分别是fread、fwrite。

matlab串口实时波形显示

作者:GG 功能:实现matalb与PC外设通讯 本例:串口232与外设单片机51通讯。实时监控51数据并且实时图形显示 时间:2011—9—16 简介:实现该功能使用M脚本文件和函数文件。 第一个文件连接串口和打开串口,设置了串口的一些参数和触发事件。连接串口COM5。有关该方面的知识请自行百度I/O文字流。 第二个文件是时间回调函数,相当于其他语言中例如C语言的中断函数 第三文件是关闭串口和清除列连接。并且清除中间TXT中介文件内容 下面是源文件 第一个: clear all s=serial('COM5');%打开串口 s.BytesAvailableFcnMode='byte';%设置事件触发为接受触发 s.InputBufferSize=5000;%设置接受缓冲区大小为5000个字节 s.BytesAvailableFcnCount=10;%每次接受到50个数据时候触发事件 s.BaudRate=19200;%设置通讯波特率 s.BytesAvailableFcn=@my_callback;%指向触发事件函数 fopen(s);%打开串口 第二个 function my_callback(obj,event) out=fread(obj,10,'uint8');%串口处读出50个数据 fid=fopen('G1.txt','a+');%打开文件并且追加 fprintf(fid,'%3d',out); fclose(fid); speed=textread('G1.txt','%u'); plot(speed); disp('save ok!'); end 第三个 fclose(s);%关闭串口 delete(s);%删除串口变量 clear all; fid=fopen('G1.txt','w');%清除中间文件txt a=[]; fprintf(fid,'%s',a); fclose(fid); clear all;%清除所以变量

matlab串口通信

摘要:结合单片机和Matlab两者优点,基于事件驱动中断通信机制,提出一种Matlab环境下PC机与单片机实时串行通信及数据处理方法;完成单片机数据采集系统与PC机RS-232/RS-485串行通信及其通信数据分析处理、文件存储、FIR滤波及图形显示;简化系统开发流程,提高开发效率。该方法已成功应用于一个PIC16F876单片机应用系统实例之中。 关键词:PIC16F876 Matlab 串口通信 RS-232 事件驱动回调函数 引言 Matlab是由美国Mathworks公司开发面向理论分析研究、工程计算数据处理和缓图一套具有强大功能软件系统。其中Matlab语言是一种以矩阵为基本运算单元解释执行高级语言,编程简例,只要几条语句就能实现诸如FFT变换、FIR/IIR滤波等数据分析处理,易于掌握。从Matlab6.0版本开始,Mathworks 公司在软件中增加了设备控制箱(instrument control toolbox),提供了对RS-232/RS-485通信标准串口通信正式支持。利用该工具箱serial类及instrcallback()回调函数,能可靠地进行实时串地通信。为此,笔者充分结合单片机和Matlab优点,基于事件驱动中断通信机制,提出了一种Matlab环境下PC机与单片机实时串行通信数据处理方法,极大地简化开发流程,提高了系统开发效率。另外,与目前普遍采用基于Matlab查询方式下非实时串行通信技术相比,这种方法实用性也大大增强了。 https://www.360docs.net/doc/09208117.html,提示请看下图: 1 系统总体设计简介 下面以Mircochip公司PIC16F876单片机为下位机,PC机为上位机组成实时数据采集处理系统为例,介绍基于Matlab环境下PC机与单片机串行通信实时数据处理方法实现。数据采集系统结构框图如图1所示。PC机串口与单片机USART 口通过MAX232电平转换芯片相连,系统工作时,Matlab通过调用设备控制工具箱中serial类及相关函数。来创建串口设备对象,得到设备文件句柄,从而以操作文件方式实现对PC机串行口读写操作。因而PC机可以通过Matlab向串行

串口通讯-单片机向电脑发送数据

#include unsigned char data1[]={"have a nice day!"}; //这是要发送的数据,它将 //显示在电脑的串口调试助手上 bit sent_over; //定义一个本次字符是否已经发送完毕的标志位 void serial_timer1_init() //串口及定时器1的初始化函数 { SCON=0x40; //串口工作方式1,只发送不接收数据 PCON=0x00; //不倍增 ES=1; //开串口中断 EA=1; //开总中断 TMOD=0x20; //定时器工作方式2,8位自动重装 TH1=0xfd; //初值为0xfd,波特率9600 TL1=0xfd; TR1=1; //开定时器1 } void serial_ISR() interrupt 4 //串口中断服务例程,每发送完一个字符 { //就会中断一次 TI=0; //TI=0,为下一次发送字符数据作准备 sent_over=1; //本次字符已经发送完毕,标志位置1 } //使下一次发送字符能够进行 void main() { serial_timer1_init(); sent_over=1; //置为1,使第一次发送字符能够进行 while(1) { static unsigned char i=0; //定义一个静态局部变量,便于在data1中取出字符 if(sent_over==1) //如果为1,说明本次字符已经发送完毕,可以进行 { //下个字符发送了 SBUF=data1[i]; //发送字符 sent_over=0; //清0,等字符发送完毕,在中断里再重新置1 if(data1[i]!='\0') //如果整个字符数组还没发送完,就继续发送 i++; else while(1); //如果整个字符数组发送完了,就使单片机停下来} } }

手机群发短信方法

手机群发短信方法 1.诺基亚(塞班系统)41MB PC套件官网下载地址 https://www.360docs.net/doc/09208117.html,/get-support-and-software/product-support/nokia-pc-suite/download 在计算机上使用诺基亚PC 套件发送和接收短信。 发送短信 开始之前,确保通过USB 数据线或蓝牙将手机连接到计算机。有关如何连接手机的信息,请访问将手机连接到计算机。 1. 在手机上选择“PC套件” 2. 在诺基亚PC 套件的右侧视图中,单击中间栏中的消息图标。

3. 出现消息编辑界面,并点击创建新的消息。 4. 如果您希望向多位联系人发送信息,请单击增加收件人,查找要增加的联系人。

5. 双击增加了您需要的所有姓名或电话号码之后,单击对勾。 6. 在收信人姓名下的框中输入信息,然后单击发送。

该信息就像是您通过手机发送的一样,并且会显示在手机上和诺基亚PC 套件中的已发信息文件夹中。 接收短信 在手机和计算机之间同步信息之后,新信息就会显示在诺基亚PC 套件中。 您可以使用手机和诺基亚PC 套件,在会话窗格中回复信息以开展讨论,就像对即时信息服务一样。该软件里面还有短息、联系人备份功能,有兴趣可以尝试。

2.苹果Iphone、IPAD、Android、Windows phone 这些手机系统都可以用91手机助手 可根据自己手机系统下载,下载地址:https://www.360docs.net/doc/09208117.html,/91helper/ 操作方法:例如Android系统35MB 发送短信 确认助手已经连接上手机之后(连接教程点这里),点击主界面左侧的短信聊天进入短信聊天界面。

MATLAB串口通信

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%本程序主要实现串口控制三轴转台进行自动标定,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%查找串口对象,若串口一开始被占用,需要加上这段程序释放串口,若串口没有被占用,则不需要这段程序 scoms=instrfind; %%尝试停止、关闭删除串口对象 stopasync(scoms); fclose(scoms);%关闭串口 delete(scoms);%释放串口%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% clear all;clc; %%%%%串口配置通道1 global s; s=serial('COM13');%设置串口号 s.baudrate=57600;%设置波特率 s.parity='none';%校验位 s.stopbits=1;%停止位 s.databits=7;%数据位 s.timeout=2;%一次读/写的时间最长为0.5s s.InputBufferSize=1024;%输入缓冲区 s.OutputBufferSize=1024;%输出缓冲区 %s.BytesAvailableFcnMode='byte';%中断触发事件为'bytes-available event' %s.BytesAvailableFcnCount=8;%接收缓冲区每收到n个字节时,触发回调函数%s.BytesAvailableFcn={'cmd_rec_callback',handles};%得到回调函数句柄fopen(s);%%%%打开串口 fclose(s); %%%%%串口配置通道2 global s2; s2=serial('COM15');%设置串口号 s2.baudrate=460800;%设置波特率 s2.parity='none';%校验位 s2.stopbits=1;%停止位 s2.databits=8;%数据位 s2.timeout=2;%一次读/写的时间最长为0.5s s2.InputBufferSize=1024;%输入缓冲区 s2.OutputBufferSize=1024;%输出缓冲区 %s.BytesAvailableFcnMode='byte';%中断触发事件为'bytes-available event' %s.BytesAvailableFcnCount=8;%接收缓冲区每收到n个字节时,触发回调函数%s.BytesAvailableFcn={'cmd_rec_callback',handles};%得到回调函数句柄fopen(s2);%%%%打开串口 fclose(s2); %InitPos(1)=InitPos(1)+0.3 %Pos1=num2str(InitPos(1)'); %Pos1=['Q010',Pos1(1,:),'$']; %A=[00000000000]; %fwrite(s2,A,'uint8') %AA=fread(s2,11,'uint8')

stm32,DMA采集一个AD数据,并通过DMA向串口发送

#include #include "ADC1.h" #include "DMA1.h" #include "USART1.h" #include "time.h" #include "stdio.h" extern uint32_t SendBuff; float ADC_Received; uint32_t ADC_Received1; uint8_t ADC_Received2[11]; //printf函数重新定向,方便在程序中使用 int fputc(int ch, FILE *f) { USART_SendData(USART1, (unsigned char) ch); while (!(USART1->SR & USART_FLAG_TXE)); return (ch); } void usart_putchar(uint8_t ch) { USART_SendData(USART1,ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET); } int main() { ADC1_Config(); DMA_Config(); USART1_Config(); while(1) { // ADC_Received = (float)ADC_GetConversionV alue(ADC1)*3.3/4069; // ADC_Received1 = ADC_Received * 1000000000; ADC_Received = (float)SendBuff*3.3/4069; ADC_Received1 = ADC_Received * 1000000000; ADC_Received2[0]=(ADC_Received1/1000000000 + 0x30); //usart_putchar(0x2e);

使用串口UART0接收上位机发送的数据

/****************************************Copyright (c)************************************************** ** Guangzou ZLG-MCU Development Co.,LTD. ** graduate school ** https://www.360docs.net/doc/09208117.html, ** **--------------File Info------------------------------------------------------------------------------- ** File name: main.c ** Last modified Date: 2004-09-16 ** Last Version: 1.0 ** Descriptions: The main() function example template ** **------------------------------------------------------------------------------------------------------ ** Created by: Chenmingji ** Created date: 2004-09-16 ** Version: 1.0 ** Descriptions: The original version ** **------------------------------------------------------------------------------------------------------ ** Modified by: ** Modified date: ** Version: ** Descriptions: ** ***************************************************************** ***************************************/ /**************************************************************** ************ * 文件名:main.C * 功能:使用串口UART0接收上位机发送的数据,并将数据原封不动地发送回上位机。 * 说明:通讯波特率115200,8位数据位,1位停止位,无奇偶校验。 ***************************************************************** ***********/

校讯通发作业、发办公短信方法

校讯通发作业、发办公短信方法一、发作业:(面向本班学生或单个学生) 分为三种 第一种是在电脑发(https://www.360docs.net/doc/09208117.html,); 第二种是在的手机的“和教育客户端”发; 第三种是在手机发短信(A#加内容发到10657061100) 下面作分别介绍: 第一种较简单:略。 第二种在手机下载“和教育客户端” “和教育客户端”下载网址 发送方法:在手机上点试就会了。 第三种在手机发短信 可以操作以下过程: 1.进入电脑网址(https://www.360docs.net/doc/09208117.html,) 2.左侧:

3.点“手机设置”进入下面 4.选择“A”后确认。 以后就可以用手机发作业或通知,方法是编辑A#加内容发到10657061100,可以把10657061100这个当作手机号存到手机上,编辑A#加内容发到这个号码上所有家长就收到了。

如A#语文作业:第一课会背。或A#数学作业:预习加法竖式。若发给单个学生,如发给张三,可以这样编辑编辑短信:A张三#数学作业:预习加法竖式。 张三家长收到的就是:数学作业:预习加法竖式。 二、发办公短信方法:(面向本校教师或单个教师) (参照第三种发作业方法) 选择X后确认。 以后可以把10657061100这个当作手机号存到手机上,编辑X#加内容发到这个号码上。 所有在本校集团内的手机用户全能收到信息。 如编辑X#明天天气:晴,温度2-10度。 手机收到内容就是:明天天气:晴,温度2-10度。 若发给单个老师,如发给张三,就编辑X张三#加内容。 A、X 都为大写。

在MATLAB中使用串口

在MATLAB中使用串口 3.2.1 MATLAB对RS232 的串口通信设计 MATLAB是一个跨平台软件,而此处使用的是自主设计的数据采集卡,因此不具备直接访问的能力。但MATLAB的面向对象技术,已用一个对象把计算机串口封装起来,只要用Serial函数创建串口对象即可[6]。关键语句为:s=ser ial(‘COM1’,‘BaudRate’,9600)。MATLAB封装的串口对象支持对串口的异步读写操作,通过对异步读写设置,PC在执行读写串口函数时能立即返回,不必等待串口把数据串输完毕。当指定数据传输结束时就触发事件,执行事件回调函数,对事件回调函数编程,进行数据处理,这样可以大大提高数据处理的效率。MEX是MATLAB的可执行程序,是MATLAB调用其它语言编写的程序或算法的接口,在Windows环境下是扩展名为DLL的动态链接库。对MEX 编译器进行配置的方法是:在MATLAB命令窗口中运行mex-setup,选择VC6.0++作为编译器。用C语言编写端口读、写的操作程序,程序包含有头文件mex.h和m exFunction函数,mexFunction函数中nelhs表示输出变量的个数,plhs包含指向输出变量指针的数组,nrhs表示输入变量的个数,prhs包含指向输入变量指针的数组。接口编形成的MEX文件与参考文献[7][8]类似,在此不再累述。 3.2.2 数据采集与分析 (1)数据读取的MATLAB实现 主要代码为: %读取通道数及总数据量 fid=fopen(‘cardiogram.add’,‘r’); Status=fseek(fid,56,‘bof’); nDataChNum=fread(fid,1,‘long’); status=fseek(fid,204, ‘bof’); nAllDataLength=fre ad(fid,1, ‘long’); %按通道数循环读出各通道起始地址 status=fseek(fid,76, ‘bof’);% for i="1:" nDataChNum pChannelAdr(i)=fread(fid,1, ‘long’) end %按通道数循环读出各通道数据 for i="1:nDataChNum" status=fseek(fid,pChannelAdr(i)+360, ‘bof’) nSegNum=fread(fid,1, ‘log’) status=fseek(fid,pChannelAdr(i)+160*nSegNum+1024, ‘bof’); data=fread(fid,nAllDataLength, ‘short’); end sta=fclose(fid);

单片机串口通信的发送与接收

51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。 当串行发送完毕后,将在标志位TI 置1,同样,当收到了数据后,也会在RI 置1。 无论RI 或TI 出现了1,只要串口中断处于开放状态,单片机都会进入串口中断处理程序。在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。 看到过一些书籍和文章,在串口收、发数据的处理方法上,很多人都有不妥之处。 接收数据时,基本上都是使用“中断方式”,这是正确合理的。 即:每当收到一个新数据,就在中断函数中,把RI 清零,并用一个变量,通知主函数,收到了新数据。 发送数据时,很多的程序都是使用的“查询方式”,就是执行while(TI ==0); 这样的语句来等待发送完毕。 这时,处理不好的话,就可能带来问题。 看了一些网友编写的程序,发现有如下几条容易出错: 1.有人在发送数据之前,先关闭了串口中断!等待发送完毕后,再打开串口中断。 这样,在发送数据的等待期间内,如果收到了数据,将不能进入中断函数,也就不会保存的这个新收到的数据。 这种处理方法,就会遗漏收到的数据。 2.有人在发送数据之前,并没有关闭串口中断,当TI = 1 时,是可以进入中断程序的。但是,却在中断函数中,将TI 清零! 这样,在主函数中的while(TI ==0);,将永远等不到发送结束的标志。 3.还有人在中断程序中,并没有区分中断的来源,反而让发送引起的中断,执行了接收中断的程序。 对此,做而论道发表自己常用的方法: 接收数据时,使用“中断方式”,清除RI 后,用一个变量通知主函数,收到新数据。 发送数据时,也用“中断方式”,清除TI 后,用另一个变量通知主函数,数据发送完毕。 这样一来,收、发两者基本一致,编写程序也很规范、易懂。 更重要的是,主函数中,不用在那儿死等发送完毕,可以有更多的时间查看其它的标志。 实例: 求一个PC与单片机串口通信的程序,要求如下: 1、如果在电脑上发送以$开始的字符串,则将整个字符串原样返回(字符串长度不是固定的)。 2、如果接收到1,则将P10置高电平,接收到0,P10置低电平。(用来控制一个LED)单片机是STC89C52RC/晶振11.0592/波特率要求是9600或4800。谢谢!

matlab串口编程

在嵌入式当中,串口是一种是用的比较多的通信和调试方式,串口主要还是用于通信,虽然是比较老的一种通信方式,但是现在依然保留并有着其活力,基本所有单片机等嵌入式处理器都保留有串口模块。调试只是串口的一个被用来是用的附加功能,想对于昂贵的在线调试工具,它有着很多其他方面的优势,直观的显示程序运行的状态和相关变量。由于其长时间的使用,相关技术和程序也比较成熟,很多工具都提供对串口通信和调试的支持,MATLAB,gdb等,串口监视和调试助手等也随处可以得到,相对于其嵌入式通信方式,它简单实用,适合初学者和速率要求不高的场合。 之前用过蓝牙虚拟串口将串口无线化,单片机间串口通信,wifi模块和ARM7串口通信,单片机于PC机串口通信,这次的综合课程设计需要在PC上对串口数据进行频谱的分析,于是就想使用MATLAB数学计算软件,应该相对简单点,果然,在提供相关数学运算函数的前提下,对各种设备的支持也很强大,在这里说一下我我在这次试验中对MATLAB对串口操作的理解。前提还是阅读MATLAB自带的help文档,这是软件提供的最权威和全面的支持,但是很多人却忽略。检索对自己有用的信息也是一种能力。 在MATLAB中有三种方式来操作串口,但是最终原理都是一样的。 1,simulink工具箱仿真 2,Instrument control toolbox 3,使用MATLAB变成语言,编写自己的程序控制 在Instrument control toolbox中,就像个串口助手,可以以图像化的方式设置各种参数,进行各种操作。在工具箱中,可以将你进行的操作实时的转换成m 文件,如果你不知道怎么编写控制串口的m文件,可以进行相关操作,然后参考生成的m文件进行编程。 simulink工具箱相对而言是比较高级的功能仿真工具,一般是在隐藏硬件细节的前提下功能仿真,如果你不熟悉原理,使用起来会一头雾水,特别是出错时,所以建议在熟悉了底层实现的前提下使用。(可能说的太主观,至少我是这样)没什么比编写自己的程序更加能了解自己控制的设备了,其上的两种方式都是在这个方式的基础上实现的,最终控制原理都是一样的,都是通过MATLAB提供的一系列API函数对串口进行操作。1和2我都尝试过,但是最后还是觉得之间编程比较清晰,当然这只是一个过程,不同的情况使用不同的工具才是正确的。以上纯属个人观点和理解,仅供参考,有什么好的想法还请不吝赐教,大家一起学习。下面是我对MATLAB环境下对串口操作的一些理解和操作。 在MATLAB中,串口被抽象成一个结构体,所有的操作均同归相关函数对结构体操作完成,通过serial函数新建一个串口对象,该函数至少需要一个参数,即串口号,其他的可选参数为设置该串口相关参数,可以在新建对象的时候指定也可以在以后用set函数设置。相对而言,get函数可以得到串口对象的相关参数值或者状态。

红外接收并通过串口发送数据至电脑

/** ************************************************************************* * [url=home.php?mod=space&uid=288409]@file[/url] main.c * [url=home.php?mod=space&uid=187600]@author[/url] xr * [url=home.php?mod=space&uid=212281]@date[/url] 2014年3月31日22:30:08 * [url=home.php?mod=space&uid=895143]@version[/url] V1.2.3 * [url=home.php?mod=space&uid=247401]@brief[/url] 串口通信+红外通信通过串口发送红外遥控器的解码值到PC * [url=home.php?mod=space&uid=536309]@NOTE[/url] 单片机STC89C52RC MCU 晶振11.0592MHZ ************************************************************************* */ #include void ConfigUart(); void UartSend(unsigned char dat); void delayms(unsigned int xms); extern bit irflag; extern unsigned char ircode[4]; extern void ConfigInfrared(); void main() { ConfigUart(); ConfigInfrared(); while (1) { if (irflag) //接收到红外数据 { irflag = 0; UartSend(ircode[0]); //发送用户码 delayms(100);//延时100ms UartSend(ircode[2]); //发送键码 } } } /** * @brief 延时xms * @param xms * @retval 无 */

用电脑发短信方法汇总

用电脑发短信方法汇总 时间:2012-09-19 16:51来源:https://www.360docs.net/doc/09208117.html, 作者:admin 点击: 271 次 短信简称SMS 是用户通过手机或其他电信终端直接发送或接收的文字或数字信息,用户每次能接收和发送短信的字数是70个文字。 这里面的其他电信终端设备包含很多各种各样的工具。本文主要讲的是如何通过电脑来发短信。 一、使用电信、移动、联通公司的官方软件发短信。 比如说移动通信公司的飞信软件,在电脑上安装飞信后就可以给手机发短信了,用户名就是自己的手机号码,密码可以设置。 方便快捷,给自己的好友发短信时完全免费的。支持批量群发短信给好友,适用于过节日群发。但是对于不是自己好友的用户, 就没法免费发送短信了,收费一毛钱一条。 这种方法局限性很大,只能给好友发,另外移动公司的飞信软件不能免费给通讯电信手机号发短信。怎么选择,就看大家了。 飞信软件下载https://www.360docs.net/doc/09208117.html,/pc/index.html 二、通过在线web网页免费发短信 很多祝福类的网站提供网页发短信服务,部分网站不用登陆,直接在web页面上操作,输入自己要发送的短信内容,然后输入要发送给对方短信的手机号码, 点击确定就可以发送到他人手机上了。不过这种免费发送短信的网站一般都不太靠谱,成功率不高,也不稳定。 最好还是选择大型的可靠的需要注册的网站来发短信。必要时可以充值。现在技术发达,很多web页面还支持电脑拨打电话,群发短信。 补充:网页版飞信也能通过浏览器发送短信哦 三、通过阿里通网络电话,KC网络电话客户端软件发送短信

虽然网络电话在国内属于灰色地带,但还是有各种大大小小的VOIP服务提供商,网络电话也层出不穷。安装这些网络电话软件, 可以让电脑或者平板电脑拨打电话。包括群发短信。不过这些软件一般需要充值后才能使用呢,大家都可以免费拨打几分钟, 但因为打短信设计较多的安全隐患,所以群发短信需要充值激活账号才可以用。友情提示:不要用阿里通网络电话软件发违法 的信息哦,这样你会被封号的,账号里的余额也会被冻结。

MATLAB串口通信技术

一.MATLAB串口通信技术 对于WINDOWS系统而言,硬件系统的驱动程序有着十分严格的规范,可以用C或汇编语言进行开发,而MATLAB本身是一个跨平台的软件,并不具备直接访问硬件的能力。即使安装了驱动程序并能正常工作的硬件设备,MATLAB也没有统一的形式对其进行访问。对于系统的串口,在MATLAB6.X中以类(SERIAL)的形式提供了支持。当用指令建立了一个串口对象(句柄)以后,对串口的硬件操作可以文件操作的软件形式来完成,方法比较简单。常用的串口操作命令及其含义如下表(1)所示,这些命令既可在MATLAB命令窗口实现,也可以M文件的形式出现,使用起来十分方便。 表1MATLAB串口操作命令表 二.数据采集系统与PC机通信的硬件电路 为了简化系统的硬件设计,数据采集系统的微转换器选用AD公司的全集成芯片ADu C812,该芯片包含有12位高性能的自校准8通道ADC,两个12位的DAC,与8051兼容的内核使用户无须学习新的指令系统。片内8K闪速/电摖除程序存储器使数据采集系统具有在线下载编程能力,利用AD公司提供的免费SERIAL WINDOW DOWNLOAD就可以将H EX文件下载到ADuC812内,对于不同的应用场所可以方便的修改系统的参数,既不需要昂贵的编程器,也不需打开机壳插拨芯片,只需将一条电缆连接到计算机的COM1或COM 2即可。另外该转换器还支持看门狗定时器、电源监视器及ADC的DMA等功能,可编程的I/O口具有三种类型的串口UART、SPI、I2C,价格也比较便宜,是一种理想的转换器。系统的硬件组成如下图(1)所示。

图1ADUC812与PC机串口通信的硬件电路图 其中ADM202及P3.0\P3.1构成了与计算机通信的RS232接口,它有两个功能,一是实现计算机与数据采集系统的数据通信。另一功能是与JP1配合使用,完成将程序从计算机下载到ADuC812片内的闪速/电摖除程序存储器中。当下载程序时,需将单片机系统的电源关掉,用屏蔽帽屏蔽JP1,单片机系统再上电,ADuC812进入程序下载状态,运行SERIAL W INDOW DOWNLOAD可以将HEX文件下载到芯片内。ADM812组成了系统的复位电路。 三.应用程序的软件流程图 PC机与单片机的串口通信技术可以说已经比较成熟,但在工程实际中应用较多的是V C、VB通信控件,一般人员开发具有一定的困难。本文的PC机应用程序是运用MATLAB 的类(SERIAL)和M语言开发,辅以MATLAB的GUIDE工具箱,程序开发相对简单。单片机的程序应用MCS—51汇编,只需在程序的第一行加$MOD812标识符即可。整个传输过程是:由单片机发送握手信号,PC机接到握手信号后发应答信号,并准备接收信号,单片机接收到应答信号后准备发送数据,并说明通信过程挂钩成功,总的测量次数和键值作为第0组发送,发送完毕累加校验和,发现传输错误时重发,程序的流程图如图2所示

安卓手机通过数据线连接PC实现带称呼发送短信短

安卓手机通过数据线连接PC实现带称呼发送短信,下载短信,下载联系人,上传联系人的方法 使用前提:安卓系统需要2.0以上(1.5,1.6版本的手机请升级到2.0以上),手机的驱 动已正确安装(手机厂家提供的PC套件或者手机助手,豌豆夹之类的软件能够正常连接手机,比如能够读取手机联系人,短信等)。Win7用户请用windows的管理员身份登录win7系统,并以管理员权限执行中盛系统。手机厂家会提供XP,Vista,Win7等操作系统的驱动。有一点需要特别注意:有些手机的数据线需要直接插到电脑的usb接口,不能通过延长线或者扩展usb hub连接手机和电脑)。手机的设置->应用程序->开发->USB调试勾选。具体的安装请参阅有关资料。这里简单说明一下,驱动安装正常的话,设备管理器里面会有类似于以下的图标(不同厂家的手机标识会有不同): G网的手机,还会多出一个调制解调器: 中盛客户管理软件(免费下载试用https://www.360docs.net/doc/09208117.html,)可以实现以 下四个功能(G网和C网都适用): 1、发送短信。设置方法如下:主界面菜单:系统设置->通讯设置: 2、下载短信。主界面:短信管理->下载短信息: 双击“下载短信息”,出现如下窗口:

点“开始下载”按钮即可。 3、下载手机联系人。主界面菜单:文件管理->手机号码薄: 点菜单项“手机号码薄”,出现如下窗口:

选“安卓(2.0以上)”,点“开始下载”按钮即可。 4、上传客户资料到手机。主界面->客户资料查询,批量选中要上传的客户,然后点 右键,弹出菜单中选:安卓手机,根据提示操作即可。 注意:通讯过程出现如下错误: 是手机助手完全独占USB通道造成的,任务管理器里面强制关闭手机助手即可。这是手机助手的一个bug,独占通道,任何别的需要使用该通道的应用都将不能使用。 附注: G网的手机发送短信,除了上面提到的方法1,也可是使用手机内置的调制解调器功能发送短信(几乎所有的手机安装驱动后设备管理里面都有内置调制解调器,可以参照该方法进行发短信的设置。国产MTK芯片的手机,安装驱动后设备管理器里没有出现调制解调器,而是在端口里面多了个USB Modem项,原理相同。国产手机建议使用蓝牙连接,比用数据线连接简单的多)、拨打电话、来电弹屏。 使用手机内置无线调制解调器具体操作如下: 进入设备管理器,双击该手机的调制解调器,出现如下端口:

相关文档
最新文档