为啥用串口调试助手和pic单片机相连发的指令都没有反应呢。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥用串口调试助手和pic单片机相连发的指令都没有反应呢。相关的知识,希望对你有一定的参考价值。

我用的是pic16f877a,写了一段程序发给串口调试助手,但是都没有反应,求大神指点。。
#include<pic.h> //包含单片机内部资源预定义
#include"predefine.h"
__CONFIG(WDTE_OFF & FOSC_HS & PWRTE_OFF & BOREN_OFF);

//========================================================================
//功能描述:主程序
//函数名称:void main()

void main()

TRISC=0XFF; //设置C口方向全为输出
SPBRG=0XC; //设置波特率为19200BPS
TXSTA=0X24; //使能串口发送,选择高速波特率
RCSTA=0X90; //使能串口工作,连续接收
RCIE=0X1; //使能接收中断
GIE=0X1; //开放全局中断
PEIE=0X1; //使能外部中断
while(1) //等待中断
;


//========================================================================
//功能描述:中断函数
//函数名称:void interrupt usart(void)
void interrupt usart(void)

if(RCIE&&RCIF) //判断是否为串口接收中断

TXREG=RCREG; //把接收到的数据发送回去

串口要设置起始位,数据位,和停止位的,还有你单片机要开串口中断 参考技术A 查看硬件接线,23脚有没有交叉追问

什么意思。。怎么可能交叉

追答

收发交叉

你把语音开了我说话回答

打字太累

参考技术B 打电话问客服啊

13-51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接TCP服务器,用串口调试助手和手机TCP调试助手测试)

写完题目刚想起来一件事情,如果手机作为客户端(不连接路由器的情况下),手机连接模块的无线会分配一个IP地址,,,这个IP地址事先我也不知道....我先看看AT指令里面有没有一个指令可以打印一下连接自己wifi信号后的设备的IP地址的指令.

没找到.......................

算啦,我直接用手机连接,看一下手机分配的IP地址,然后再设置模块
APP可在百度手机助手,安卓市场,91助手,下载安装(搜索"小五物联")


技术分享图片

 

技术分享图片
咱们还是设置模块的工作模式为模式3

AT+CWMODE_DEF=3

技术分享图片
技术分享图片
发送AT+CIPMUX=0 启动单连接,先弄单连接

AT指令单连接可以做到透传

AT+CIPMUX=0
技术分享图片
然后让模块连接服务器

AT+CIPSTART="TCP","192.168.4.2",8080

技术分享图片

技术分享图片

现在用手机发数据

技术分享图片

技术分享图片
现在让模块发给手机

单路连接时发送指令为AT+CIPSEND=x , x为发送的字节数
技术分享图片
技术分享图片

技术分享图片

现在发个指令让模块透传,发数据之前不再发指令,让模块自动的转发
技术分享图片
虽然设置了但是好像不可以..........

但是好像是换了指令了

AT+SAVETRANSLINK=1,"192.168.4.2",8080,"TCP"

技术分享图片

技术分享图片

技术分享图片

技术分享图片
看来应该是修改了,而且做成了保存的模式了,断电也会保存着设置,

新版的AT指令做的好像是专门做的保存在模块内部的设置,设置一次下次上电自动工作,不用二次配置了...

还有一点,这个指令可以直接发,不用配置单连接还是多连接,无论怎么配置但连接或者多连接对这个指令没有影响
所以建立TCP透可以直接一句话就可以
AT+SAVETRANSLINK=1,"192.168.4.2",8080,"TCP"
退出透传是发送 "+++"

技术分享图片

但是那条指令还保存在模块内部,模块一断电上电还是会自动连接和透传的

要想清除这条指令,先发送 "+++"

然后 AT+RESTORE 恢复出厂设置
技术分享图片

技术分享图片

新版的指令做的挺好的,比以前的方便多了,太晚了睡觉,,,,

改天再写多连接模式


















以上是关于为啥用串口调试助手和pic单片机相连发的指令都没有反应呢。的主要内容,如果未能解决你的问题,请参考以下文章

13-51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接TCP服务器,用串口调试助手和手机TCP调试助手测试)

串口调试助手发送的数据后面为啥多了两个字节,0d和0A

为啥我的电脑上的串口不能用,,用串口调试助手的时候说找不到?

RS232C串口通信,用串口调试助手发送指令后设备(出钞模块)没反应。

求大神帮忙:ESP8266调试串口的时候,还没发AT指令,为啥一直自动接收数据,还是循环的?

用Tkinter实现一个串口调试助手