485与stm32f407的通讯问题,解决不了就要被开除了

2019-07-20 23:00发布

本帖最后由 hackathos 于 2016-4-6 14:41 编辑

一个测试压力传感器,用的是485协议,小弟新手,好多不明白,传感器参数如下: QQ图片20160406142428.png

启动传感器需要发送命令:  01 03 00 00 01 84 0a

比如返回 01 03 02 02 AC b9 59 命令,(都在图片中),计算出压力值。
硬件接法如下:

传感器数据线A,B接 “485转 TTL模块”的A,B端, 模块的TX接开发板的PA2,RX接PA3.头一次接触407头一次用485,修改原子哥【正点原子探索者STM32F407开发板例程连载+教学】第31章 485通信实验的程序,改来改去还是一头雾水简直凌乱不堪。如今485驱动等没问题,想跪求大神,
第一:硬件接线是否错误
第二:如果没有,改怎么编程发送 01 03 00 00 01 84 0a
第三:如果能给完整读取计算压力数值的代码那真感激不尽 了
如果连发送命令的这个问题不解决就要被辞职了....

程序实在不会写了....

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "rs485.h"

int main(void)
{
        //u8 key;
        
        u8 i=0;
         u8 cnt=0;
        //u8 rs485buf"01 03 00 00 00 01 84 0a"
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//
        delay_init(168);   //
        uart_init(115200);        /
        LED_Init();                                        //
        RS485_Init(9600);                //
        while(1)
        {
          LED1=!LED1;
               
                RS485_Send_Data(rs485buf,8);//
               
               
                 RS485_Send_Data(u8 *buf,u8 len)








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
lvehe
1楼-- · 2019-07-21 01:17
 精彩回答 2  元偷偷看……
hackathos
2楼-- · 2019-07-21 05:59
原子哥,帮忙啊
正点原子
3楼-- · 2019-07-21 07:42
楼主啊,你先学会串口通信实验.搞懂什么 是ASCII,什么是内码. 什么是HEX,再来看这个问题,会比较好一点
Sun_Fly
4楼-- · 2019-07-21 09:46
STM32是TTL电平,你用原子哥的程序就行,之后你加一个485芯片,转过去就行了
hackathos
5楼-- · 2019-07-21 10:07
 精彩回答 2  元偷偷看……
adlu
6楼-- · 2019-07-21 15:01
发送是比较简单的,只需要根据协议,发送一串数据,也叫作一个命令数据包。

接收就相对麻烦一点,要用到串口接收中断处理。处理过程就是数据解包的过程,一两句话说不清楚。

接收到完整数据包之后,就根据协议中的数据格式,提取出代表气压的数据。

一周热门 更多>