f407与上位机,高速通讯。
STM32F107+LWIP---如何检查tcp通讯断开?并重新连接
消防二总线通讯?
有没有用过数字式mems麦克风的,想问下SPI通讯的问题
stm32f103 CAN通讯多帧发送问题?
ST 电机电机工作站,就是那个workbench的通讯协议是啥啊?
STM32F107作为USB主机模拟串口通讯不成功(采用PL2303芯片)
stm32F1单片机iic主从模式通讯
串口通讯偶尔出现故障,不能自行恢复,如何解决
stm32f103zet6串口通讯过程中报ORE错误
DMX是能过串口发送DMX信号对DMX灯具进行控制,如舞台灯光之类的灯具一般都是DMX信号的,可做到灯光快速变化
ArtNet-DMX 就好像是网络版DMX灯光控制协议,通过网络传输ArtNet协议,终端控制设备再将ArtNet信号转换成DMX信号,进行灯具控制
DALI 协议也是一种国际常用的灯光控制协议,主要用用家居照明,商业场所照明,可对照明设备进行控制,监测,在一些高级酒店等商业场所终端照明设备会用到此类协议的照明设备,但跟主控制室的通信不一定是DALI协议的,可能有KNX之类的其它协议转换,因为没用过KNX协议,就不作介绍了
点评
使用的协议有,RS485,CAN,LIN,SPI,I2C
RS485协议,在STM32上移植FREEMODUBUS协议从机,实现MOEBUS通信,接到上位机实现双工通信,这个协议栈主要移植的部分是串口中断,串口配置和定时器。通常是自己定义协议通过RS485来通信。
SPI和I2C根据硬件来匹配,和芯片有关。
CAN和LIN使用中也是根据自定义的协议来做,使用开源的协议栈不多。
点评
协议是自己根据业务需求制定的
从大类来分:下发、上报、心跳(判在线与状态)
CAN协议因为数据位只有8个字节,信息比较多的时候只能分段发
从信息的完整闭环来看,控制下发的必须要有回复,超时算无回复错误,还要监控回复数据与预期是否一致,如不一致需要判为反馈出错。
出错后的处理:最有效的就是重启下面的执行节点,节点设置独立看门狗,所以重启实际上是触发禁止喂狗,就是重启了。重启后等一个时间间隔(预期重启时间)重发一次指令,如果再出错就报严重错误。
大概觉得有用的经验就这些。
点评
点评
STM32的GPIO是变量,对I2C的模拟有什么帮助,可以模拟的更好吗?
当需要多个模拟I2C的时候,每次都要搞一套I2C的命名,然后各自宏定义。但是,GPIO是变量就可以把GPIO的脚位赋值给变量,那么只需要编写一套I2C函数,然后实现哪个I2C的时候就切换哪个GPIO变量;或者只需要赋值不同的GPIO就可以了。
大概是这个意思。
点评
最早在用GSM/GPRS、GPS模块的时候,就用的串口AT指令集;
后来在串口屏、BLE等模块也是用的类似AT指令集,只是叫的名字不一样。Lora、NB-IoT、ESP8266等模块也有用类似工作方式。
视频控制器板卡、工业控制、PLC等产品上,到处都有UART的身影。
自己在做一些产品的时候,当然也使用了类似AT指令方式,ASCII字符明码,协议解析、故障分析非常方便。指令末尾可以加一个或多个字节的检验字,最简单的就是一字节或二字节的校验和;要求安全可靠,整复杂一点,CRC16、CRC32也可以加。
点评
点评