yizhouaa 发表于 2019-3-28 14:54:58

stm32与传感器进行485通信,传感器接收不到数据

#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"       
#include "rs485.h"
u8 S_485_Send1[] = {0xA5,0x09,0xAE};
u8 num=0;                                       
int main(void)
{       
        u8 key;
        u8 i=0,t=0;
        u8 rs485buf;        
        delay_init();                    
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        uart_init(115200);              
        LED_Init();                                 
//        LCD_Init();                                          
        KEY_Init();                                              
        RS485_Init(9600);                                                                  
        while(1)
        {
                key=KEY_Scan(0);
                if(key==KEY0_PRES)
                {                       
                  RS485_Send_Data(S_485_Send1,3);                                                                                          
                }               
                RS485_Receive_Data(rs485buf,&key);
                if(key)
                {
                        if(key>9)key=9;
//                        printf("%s",rs485buf);
                        for(i=0;i<9;i++)
                        {
                                printf("%d",rs485buf);                       
                        }
                }
                t++;
                delay_ms(10);
                if(t==20)
                {
                        LED0=!LED0;       
                        t=0;
                }                  
        }
}


这是主函数,S_485_Send1[]是我传感器的查询命令0xA5 0x09 0xAE,传感器接受到这个命令就会返回一次光照数据,我发送了但是传感器没有返回数据

3111272 发表于 2019-4-1 09:48:58

传感器接收不到命令,首先得看看是不是成熟产品,我在调试成熟产品的时候会考虑把485的A B线反一下。
如果不是成熟产品,就要使用串口调试工具。
1,MCU发出的指令不正确,
2,传感器接收不到指令
解决办法:发出指令不正确就看自己的程序实现了,传感器接收不到指令,就要看看传感器是不是坏的了。
其他问题就自己在分析分析

衔胆栖冰 发表于 2019-3-28 21:37:34

什么传感器直接接485

yizhouaa 发表于 2019-4-1 09:36:54

衔胆栖冰 发表于 2019-3-28 21:37
什么传感器直接接485

GY-485-44009光照传感器

hujjj 发表于 2019-4-1 09:46:57

STM32能直接进行RS485通讯吗?还要通过相应的通讯模块吧。

wenyangzeng 发表于 2019-4-1 10:08:35

应该需要通过485接口芯片与传感器连接才是呀。

weiwei4 发表于 2019-4-1 11:02:36

能接收,说明接收电路是对的
问题是发送的数据那边收不到,感觉可以是以下几点问题:
1、485电路是自动收发电路么? 如不是,那么要程序控制相应引脚来切换485接收和发送,这个没做好数据是发不出去的
2、如果是自动收发电路,是不是楼主的自动收发电路有问题?
3、先测试下单片机发送引脚是否正常发送?方向控制引脚是否正常控制?

yizhouaa 发表于 2019-4-1 11:02:41

hujjj 发表于 2019-4-1 09:46
STM32能直接进行RS485通讯吗?还要通过相应的通讯模块吧。

我板子上接了485转换模块的

yizhouaa 发表于 2019-4-1 11:03:05

3111272 发表于 2019-4-1 09:48
传感器接收不到命令,首先得看看是不是成熟产品,我在调试成熟产品的时候会考虑把485的A B线反一下。
如果 ...

好的,谢谢啦

yizhouaa 发表于 2019-4-1 11:04:37

刚刚接触stm32,所以有很多问题不懂,就来论坛问问,谢谢啦
页: [1] 2 3
查看完整版本: stm32与传感器进行485通信,传感器接收不到数据