串口通讯如何能复位串口?

chango 2006-04-05 04:55:55
我在做一个手机短信的串口通讯程序,现在发现有个问题:
mccomm1.output="AT+CMGS=18" + chr(13)+<内容>+chr(26)+vbcr
没有任何回复,
而且发现串口再也无法接受其它的输入,所有从output给的串都没反应,
不知道为什么?

请予指导,多谢谢
...全文
651 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
UserInfo 2006-04-06
  • 打赏
  • 举报
回复
也可以在发送数据之前,将发送缓存和接收缓存先 清空一下。
水如烟 2006-04-06
  • 打赏
  • 举报
回复
谢谢楼主
chango 2006-04-06
  • 打赏
  • 举报
回复
此问题我自己经解决,具体办法可以与大家分享:
由于串口通讯发送比接收数据快,因此在发送一条内容时,需要加入一个延时,保证上一条串口已经接收处理完,否则会串;
如上问题,由于内容需要等回车出现后才能接收,我分两部份发送:
1、AT+CMGS=18 + chr(13)
2、延时50-100ms
3、<内容>+chr(26)+vbcr

sx_lxh 2006-04-05
  • 打赏
  • 举报
回复
用vs2005更方便。
copico 2006-04-05
  • 打赏
  • 举报
回复
楼上正解
cwbboy 2006-04-05
  • 打赏
  • 举报
回复
都不知如保回答你,只要将串口关闭了 ,就复位了。再打开就行了。

你发送AT指令?我今天刚刚写了个小程序发送AT指令。 可以正常使用。 不过我用的是vs 2005
设计内容和要求 1.1设计内容 本设计采用AT89S52单片机以及MAX232通信芯片配合使用与上位机(计算机)进行串口通讯,根据上位机所发送的不同请求数据来判断计算机所要求单片机所返回的数据。上位机软件采用串口调试助手,在串口调试助手发送区输入相应字符,然后点击发送,串口调试助手软件将数据传送到计算机串口处,采用串口连接线将计算机串口信号传送至MAX232芯片,再通过电平转换将RS232信号转换为单片机所能识别的TTL信号,然后将该信号传输到单片机串行口,将数据传送到单片机内部寄存器进行相应处理。 1.2功能要求: 通过上位机串口调试软件给单片机发送命令,单片机接收到所发送的命令后,进行比较处理,确定上位机信息内容后,返回上位机所请求的数据。具体通信波特率和校验方法设置为: 通信波特率:9600bps; 校验方式:无校验; 数据位:8位; 停止位:1位。 具体发送和接收要求为: 首先上位机发送请求命令,当单片机接送到上位机的请求命令后,判断上位机是何数据,然后给出相应的返回数据,具体发送和接收的数据如下表所示: 序号 上位机发送数据 上位机接收数据 1 1 "What do you plan to do this Friday?" 2 2 "I plan to go to the concert." 3 3 "What are you doing next week?" 4 4 "I'm thinking of going to my grandma's" 5 其他字符 "Please select a character '1','2','3','4'!" 单片机串口通讯设计全文共16页,当前为第1页。 单片机串口通讯设计全文共16页,当前为第1页。 系统总体结构 2.1功能模块描述 本设计为上位机与单片机通讯,单片机采用UART串行口,计算机采用串口,考虑到单片机串行口输出的是TTL电平信号,而计算机串口输出的是RS232信号,两种信号存在不兼容的问题,因此需要进行电平转换以达到电平兼容的目的,所以我们还需要选择另外一种具有TTL信号到RS232信号转换功能的芯片,本设计中要求采用交流9V电源供电,而我们单片机以及其他芯片工作所需要的电压为直流,因此这里我们必须将电压性质转化一下,否则芯片将不能正常工作。 整流的方法有半波整流和桥式整流两种方法,半波整流效率较低,只有输入电压的0.45倍,输入交流电压为9V,半波整流后输出的电压仅为4.05V,而我们单片机正常工作的电压为直流5V,不能满足要求,因此半波整流方式不可取。在本设计中我们选择桥式整流方式,其输出电压为输入电压的0.9倍,输入电压为交流9V时,输出电压为8.1V大于单片机工作电压,可以选择,整流后输出直流电压波动较严重,因此在整流输出端我们需要增加滤波网络,进行稳定输出电压。 由于桥式整流电路输出电压大于我们芯片所能承受的最大电压,因此需要增加降压网络,将整流桥输出电压降低到芯片的工作电压5V。为保证电路板加电后能够有上电指示功能,因此在降压网络输出端增加发光二极管作为上电指示灯。 本设计中,当上位机下发请求数据时,下位机(单片机)能够识别下发数据并显示所下发的数据,正常下发请求命令为'1'、'2'、'3'、'4'或其他数据或字符,设计要求电路板能够正常显示'1'、'2'、'3'、'4',显示其他数据或字符时不必显示,因此这里我们需要选择一个8段数码管即可。 单片机串口通讯设计全文共16页,当前为第2页。 单片机串口通讯设计全文共16页,当前为第2页。 2.2功能模块框图 硬件设计 3.1硬件介绍 3.1.1单片机介绍 单片机串口通讯设计全文共16页,当前为第3页。AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 单片机串口通讯设计全文共16页,当前为第3页。 端

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧