导航:首页 > 操作系统 > 单片机与RM04不能正常通信

单片机与RM04不能正常通信

发布时间:2022-05-09 04:32:02

单片机和仪器485通信的问题,分别供电的时候,485通信正常,使用同一个电源供电的时候,无法通信。

多半是干扰引起的,电源滤波、地线没走好都可能出这类问题,也可能你的485回路或者软件协议比较脆弱,容易被干扰。
建议第一步先 检查:RS485匹配电阻接了吗,例如接120欧

⑵ 单片机之间串口通信异常

产品测:9600,e,8,2, 单片机测:9600,N,8,1
这很明显两者的通信模式不同,当然就不能正常通信了,产品的通信模式是两位停止位,可单片机只能有一位停止位,那个校验位,对于单片机倒是可以做到,可停止位不好解决。产品的通信模式能不能设置,最好设置成1位停止位。

⑶ 单片机串口通信时而正常,时而不正常,硬件没问题,应该是时序问题,一般会有什么时序问题呢

问题原因可能是如下几个方面:
1、是否使用的是USB转串口的转换线?这种方式目前出问题太多了,系统正常运行状态下还好点,如果单片机设备频繁上下电问题就特别多,而且好像没有太好的解决方法。
2、通讯双方的协议是否不匹配?波特率不说了,还有比如是否都是1个起始位+8个数据位+1个停止位,二者应一致。
3、PC机一端问题。这种可能性不大,如果使用的是串口调试助手之类的软件就更不会有问题。
4、单片机一端软件可能有问题。而且问题出在接收时的可能性较大。具体的:
a、在软件流程中是否有对REN控制位修改的指令?如果有需要检查当REN=0时的相关语句。
b、应特别关注TI的清零操作。接收时RI有效后将数据读入内存、清RI标志,即可退出接收操作;而发送时【最后1个字节送入SBUF后,发送操作并未完成】,【必须等待这次发送完成后TI置位,然后清0】,才能根本上保证下次操作的正确性的情况。
c、如果串口收发未使用中断方式,需要检查主程序流程中是否有较长时间的延时程序,会不会造成数据接收遗漏的情况。以9600波特率为例,1个字节的发送或接收需要差不多1ms的时间,延时操作如果有超过1ms的就可能会造成数据丢失。
d、其它中断处理软件是否会长时间占用CPU资源,使得串口数据的接收出现数据丢失情况?串口如果采用了中断,其中断级别是否是高级别?
5、设备运行环境。是否有外部强电磁干扰?比如电机的起停。处理方法就说不清了。

⑷ 51单片机与PC进行串口通信,可以烧写,但是不能通信

首先,别乱试MAX232周围的那四个电容,根据MAX232的数据说明书里规定这四个电容必须是1uF的,并且最好是带极性的电解电容(耐压至少16V以上)。
既然能进行ISP在线编程烧写程序进去,那说明硬件是没有问题。你的程序在开发板上实现过,但能确认开发板的串口电路和你现在用的ISP电路是一样的么?
还有,计算机上的串口接收软件也没设置好也收不到数据的!
如果怀疑是串口硬件电路的问题,可以做这样的实验,就是让把单片机拔出来,MAX232留着,PC上的串口发送数据,然后把原本接单片机TXD和RXD的两个数据引脚短路,看看PC上的接收软件是否能接收到直接发送并返回的数据,如果能成功,则证明串口硬件电路没问题。
串口通讯有的时候要求很多,你先实验一下能不能单片机只给PC发送数据。然后再试把数据从PC发下去,让单片机返回数据。
还有问题可以发网络HI的信息给我。

⑸ 单片机与串口通信无法正常工作...

2个原因,一个软件问题,一个硬件问题。
首先在确保硬件没有问题的情况下,检查是不是软件问题。
一般的大多是软件问题。

⑹ 两个单片机UART通信不能正常进行

单片机串口可以在115.2k可靠传输,不要怀疑波特率,如果你的波特率计算真的没有错误的话;
从你的条件不会退出能通信的结果,肯定有的细节你没有说明,不知是什么;
如果真的如你所说,只能让一片单片机不断的发,示波器监视发送是否正常;串口助手给另一片单片机发数据,看接受是否正常,一步步来。
如果还没问题就是看你的线是否过长,是否有干扰等

⑺ 我要用HLK-RM04模块控制单片机部分,现在要写一个控制程序,谁懂,求教

这么简单的程序,自己就可以焊板子了。。做个核心板+max232cpe加个串口就行。

⑻ 52单片机与GSM模块通过rxd与txd连接中,出现单片机与GSM之间不能正常通信,望大神赐教

GSM跟52分开测试
GSM通过PC调试 这个主要是检测GSM模块的好坏而已
52通过PC调试主要是查看52通过串口发送的AT指令是否是正确格式

⑼ 单片机与电脑不能通讯

你恰好把RXD和TXD管脚焊反了。对于PC机:
2脚为RXD接收232端子,应该连接到芯片的14脚。芯片的11脚连接到单片机的TXD管脚。
3脚为TXD发送232端子,应该连接到芯片的13脚。芯片的12脚连接到单片机的RXD管脚。

⑽ 请问大神,我用STM32与RM04进行串口通信的时候,为什么STM32都接收不到数据

void halRfSendPacket(INT8U *txBuffer, INT8U size)

{

halSpiStrobe(CCxxx0_SFTX);//清空缓冲区

halSpiWriteReg(CCxxx0_TXFIFO, size);//这个必须要

halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size); //写入要发送的数据

halSpiStrobe(CCxxx0_STX); //进入发送模式发送数据

// Wait for GDO0 to be set -> sync transmitted

while (!(GDO0));

// Wait for GDO0 to be cleared -> end of packet

while (GDO0);

//halSpiStrobe(CCxxx0_SFTX);

}

阅读全文

与单片机与RM04不能正常通信相关的资料

热点内容
51单片机1us 浏览:218
上海突发天气预警推送什么app 浏览:740
压缩机的供油 浏览:971
django开发的网站源码 浏览:511
数据库管理项目源码 浏览:122
最新骆驼源码app下载 浏览:49
网络答题用什么app模板 浏览:550
linux服务器如何配置多域名 浏览:250
pythonlibrary中文 浏览:551
客户管理系统破解源码 浏览:994
程序员皮皮 浏览:411
一个单片机一个程序 浏览:101
python调用系统时间 浏览:767
鸿蒙20怎么弄大文件夹 浏览:615
美团的服务器是什么 浏览:359
axure原型设计精髓pdf 浏览:379
svox文件夹有用吗 浏览:508
怎样才可以给软件添加密钥 浏览:589
光纤通信原理pdf 浏览:209
c需要用什么编译器 浏览:705