资源描述:
《功能强大的串口发送接收程序模块》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、/•#••#••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,••,•公司:XX模块:seriate功能:审口中断服务程序,仅需做简单调用
2、即可完成串口输入输出的处理;出入均设有缓冲区,大小可任意设置芯片:AMEGA16说明:未利用串口发送硬件BUFF设计:李耀峰时间:2005-11-24版本:V1.0记录:«bl>«bl>«bl>«bl>«bl>«bl>«bl>«bl>«bl>«bl>«bl>«bl>«bl>«bl>*14*1^*1^*1^*1^*1^*1^*1^*1^*1^*1^*1^*1^*1^*1^*1^*1^/;*********************************************************
3、***************/可供使用的函数名:externvoidPutBytc(bytcc);〃放入一个字节到发送缓冲区externvoidPutString(byte*puts);〃发送一个定义在程序存储区的字符串到串口externvoidPutBytes(byte*outplace,bytej);//发送一串数据externvoidPutHEX(bylec);〃发送一个字节的hex码,分成两个字节发externbyteGetByte(void);〃从接收缓冲区取一个byteexternv
4、oidScriallnit(wordbaud);〃串口初始化externbyteinbufsign;〃接收缓冲区数据、有数据=1。#defineCRPutString(Mr”)〃发送一个回车换行#defineNULputstring(HOM)〃发送一个空格•I••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••
5、4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4••4•
6、#include#include#definebyteunsignedchar#definewordunsignedint#dcfincOLEN20〃串口发送缓冲大小#defineILEN20〃串口接收缓冲人小byteoutbuflOLENl;byteinbuf[
7、ILEN];byte*outlast=outbuf;byte*putlast=outbuf;byte*inlast=inbuf;〃发送缓冲〃接收数据缓冲〃最后由中断传输出去的字节位用〃最后放入发送缓冲区的字节位置〃最后接收到接收缓冲区的字节位置structdata〃位定义{unsignedbitO:l;unsignedbitl:l;unsignedbit2:l;unsignedbit3:l;unsignedbit4:l;unsignedbit5:l;unsignedbil6:l;unsignedb
8、it7:l:}bit_flag;#defineoutbufsignObit_flag.bitO//缓冲区数据发完标,忐发完=0#defineoulbufsignbit_llag.bill//发送缓冲区非空标志有=1#defineinbuffulbit_flag.bit2〃接收缓冲区满标志满=1//#defineinbufsignbit_flag.bit3〃接收缓冲区非空标志有=1//byteoutbufsignO;〃缓冲区数据发完标志发完=0//byteoulbufsign;//发送缓冲区非空标志
9、有=1//byteinbufful;〃接收缓冲区满标志满=1byteinbufsign;〃接收缓冲区非空标志有=1#defineCRPulString(nr”)〃CR二回车换行〃发送一个空格。#defineSPACEPutByte(0x20)#pragmainierrupt_handlerSeriallncepl_handler:12〃串口接收中断函数#pragmainterrupt.handlerSerialSend_handler:14〃串口发送中断函数〃**********