你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

第四期:聊聊你使用过的通讯端口、协议等

[复制链接]
dsjsjf 提问时间:2018-11-6 08:49 /
阅读主题, 点击返回1楼
收藏 评论40 发布时间:2018-11-6 08:49
40个回答
weiwei4 回答时间:2018-11-6 10:18:11
DMX , ArtNet-DMX , DALI 这几个都是灯光行业常用协议
DMX是能过串口发送DMX信号对DMX灯具进行控制,如舞台灯光之类的灯具一般都是DMX信号的,可做到灯光快速变化
ArtNet-DMX 就好像是网络版DMX灯光控制协议,通过网络传输ArtNet协议,终端控制设备再将ArtNet信号转换成DMX信号,进行灯具控制
DALI 协议也是一种国际常用的灯光控制协议,主要用用家居照明,商业场所照明,可对照明设备进行控制,监测,在一些高级酒店等商业场所终端照明设备会用到此类协议的照明设备,但跟主控制室的通信不一定是DALI协议的,可能有KNX之类的其它协议转换,因为没用过KNX协议,就不作介绍了
select326 回答时间:2018-11-6 10:58:39
常用的还是 IIC SPI  USART 。 其他的全是USART

点评

这些应该是最最基本的了  发表于 2018-11-6 12:51
jeffhe1 回答时间:2018-11-6 11:25:24
樓主所講都是燈控 protcol , 都是一些特定領域使用 , 要廣泛的應用 , 就必須搭其他的 protcol , 才能做成真正的 system
TLLED 回答时间:2018-11-6 11:33:14
串口通信:UART 是使用最多的,
使用的协议有,RS485,CAN,LIN,SPI,I2C
RS485协议,在STM32上移植FREEMODUBUS协议从机,实现MOEBUS通信,接到上位机实现双工通信,这个协议栈主要移植的部分是串口中断,串口配置和定时器。通常是自己定义协议通过RS485来通信。
SPI和I2C根据硬件来匹配,和芯片有关。
CAN和LIN使用中也是根据自定义的协议来做,使用开源的协议栈不多。

点评

比较到位,我现在也是移植的FreeModbus,至于CANOPEN,只找到canfestival这个开源的  发表于 2018-11-6 12:54
奏奏奏 回答时间:2018-11-6 11:40:20
项目中用过的:主要是CAN与串口
协议是自己根据业务需求制定的
从大类来分:下发、上报、心跳(判在线与状态)
CAN协议因为数据位只有8个字节,信息比较多的时候只能分段发
从信息的完整闭环来看,控制下发的必须要有回复,超时算无回复错误,还要监控回复数据与预期是否一致,如不一致需要判为反馈出错。
出错后的处理:最有效的就是重启下面的执行节点,节点设置独立看门狗,所以重启实际上是触发禁止喂狗,就是重启了。重启后等一个时间间隔(预期重启时间)重发一次指令,如果再出错就报严重错误。
大概觉得有用的经验就这些。

点评

很好的经验,看来都是自定的协议。  发表于 2018-11-6 12:56
sky_han 回答时间:2018-11-6 11:54:14
Modbus-RTU(485),IIC(硬的和软的),硬的SPI,RS485,OneWire.

点评

这些都是很常用的  发表于 2018-11-6 13:12
这些都是很常用的  发表于 2018-11-6 13:12
电子星辰 回答时间:2018-11-6 11:55:52
本帖最后由 电子星辰 于 2018-11-6 14:48 编辑

STM32的GPIO是变量,对I2C的模拟有什么帮助,可以模拟的更好吗?


当需要多个模拟I2C的时候,每次都要搞一套I2C的命名,然后各自宏定义。但是,GPIO是变量就可以把GPIO的脚位赋值给变量,那么只需要编写一套I2C函数,然后实现哪个I2C的时候就切换哪个GPIO变量;或者只需要赋值不同的GPIO就可以了。
大概是这个意思。

点评

IIC一条总线是可以挂多个外设的,只要外设的地址不同。  发表于 2018-11-6 17:33
不太明白你的意思  发表于 2018-11-6 12:57
toofree 回答时间:2018-11-6 13:40:41
用的最多的,必须是UART。
最早在用GSM/GPRS、GPS模块的时候,就用的串口AT指令集;
后来在串口屏、BLE等模块也是用的类似AT指令集,只是叫的名字不一样。Lora、NB-IoT、ESP8266等模块也有用类似工作方式。
视频控制器板卡、工业控制、PLC等产品上,到处都有UART的身影。
自己在做一些产品的时候,当然也使用了类似AT指令方式,ASCII字符明码,协议解析、故障分析非常方便。指令末尾可以加一个或多个字节的检验字,最简单的就是一字节或二字节的校验和;要求安全可靠,整复杂一点,CRC16、CRC32也可以加。

点评

够专业。我们公司主要做工业产品,所以串口方面基本是走Modbus协议,要么就是自定义协议。AT指令是很早之前玩GSM模块时用的。  发表于 2018-11-6 17:31
maxtch 回答时间:2018-11-6 13:40:57
UART 是最基本的。UART 我有一个高级应用 CSMA/CD-on-RS485 可以实现对等网络。SPI、I2C 基本都是连外设用,不太会用做单片机互联。CAN 没怎么用过。以太网和 SDIO 基本轮不到单片机用,都是搭配 Linux 的。

点评

CSMA/CD-on-RS485 ,,了解一下,感觉有点意思  发表于 2018-11-6 17:35
szy123 回答时间:2018-11-6 14:39:54
串口 usb iic spi 并口 can
12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版