rs485如何使用_485通讯问答:如何判断站地址?看看电气工程师的说法,豁然开朗...

本文介绍了RS485通讯网络中站地址的概念,通过站地址区分主站与从站的通讯。在PLC作为从站的示例中,程序通过判断接收到的报文首个字符(站地址)来决定是否响应。同时,展示了如何编写接收和发送完成中断的程序,确保正确接收和回应符合站地址的报文。
摘要由CSDN通过智能技术生成

今天继续给大家更新 RS485通讯的相关内容,不知不觉,系列文章已经发了很多了,小编经常被问到之前的文章在哪,今天就给大家把之前发过的485系列文章做了归纳,大家保存一下,之后就能拿出来随时查看这9篇系列文章啦!

1、站地址概念

RS485通讯网络是一个总线形式的网络,那么网络中的主站是如何区别各个站点的呢?要知道在这个网络中,主站发出的数据网络中的每个从站都是可以接收到的(因为主站发出的高低电平是施加在整个网络上的),就像班主任讲话全班同学都可以听到一样,那么班里的同学是怎么知道班主任是叫自己呢?很明显每个人都有名字,班主任只要在发出的指令里加上他想指挥的同学的名字就可以了。同理RS485网络里每个从站也有自己的名字,那就是站地址,主站只要在发出的报文里加上站地址信息,那么对应的从站就会执行这条报文。下面我们一起看看如何在程序中完成这个过程。

08339cb94dfc25e79bee39de0ce4c236.png

图 1‑1

这里我们还是用PLC做从站电脑做主站,我们定义报文的第一个字符作为站地址,如果我们的从站的站地址是02,那么主站发出的报文如果第一个字符是02那么就认为这条报文是发给该

arm-none-eabi-gcc -o "SENSOR_CB.elf" @"objects.list" -mcpu=cortex-m3 -T"C:\Users\WangBingqian\Desktop\SC10L151Cube\trunk\NO_FOTA_VERSION\STM32L151CBTXA_FLASH.ld" --specs=nosys.specs -Wl,-Map="SENSOR_CB.map" -Wl,--gc-sections -static --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -Wl,--end-group Core/Src/rs485.o: In function `get_sample_data_max_min_value': rs485.c:(.text.get_sample_data_max_min_value+0x0): multiple definition of `get_sample_data_max_min_value' Core/Src/lora_wan.o:lora_wan.c:(.text.get_sample_data_max_min_value+0x0): first defined here Core/Src/rs485.o: In function `computeMvScale': rs485.c:(.text.computeMvScale+0x0): multiple definition of `computeMvScale' Core/Src/lora_wan.o:lora_wan.c:(.text.computeMvScale+0x0): first defined here Core/Src/rs485.o: In function `computeMvScale_f': rs485.c:(.text.computeMvScale_f+0x0): multiple definition of `computeMvScale_f' Core/Src/lora_wan.o:lora_wan.c:(.text.computeMvScale_f+0x0): first defined here Core/Src/rs485.o: In function `generate_frag_data': rs485.c:(.text.generate_frag_data+0x0): multiple definition of `generate_frag_data' Core/Src/lora_wan.o:lora_wan.c:(.text.generate_frag_data+0x0): first defined here Core/Src/rs485.o:(.bss.frag_num+0x0): multiple definition of `frag_num' Core/Src/lora_wan.o:(.bss.frag_num+0x0): first defined here collect2.exe: error: ld returned 1 exit status make: *** [makefile:50: SENSOR_CB.elf] Error 1 "make -j4 all" terminated with exit code 2. Build might be incomplete.是什么错误
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值