关于PSDK中UART端口的配置,可以利用硬件上插拔的方法,再使用指令ls /dev/tty*
进行确认。
例如:
未插入串口工具或连接串口之前:
连接串口工具/串口后:
可以看到有一个ttyUSB0,那么填写的时候DEV1对应的就是这个变动的端口。
关于DEV2,这个是M300才需要配置的,其他机型可以不用处理,M300会用到USB的通道作为串口功能使用,因此需要配置额外的UART端口。
补充:
M300机型建议DEV1 DEV2均连接,如果有使用E-Port拓展板,需要把拨码开关拨到Device(唯一配置,M300不支持Host),此时飞机做Device,设备做Host设备,连接方式:飞机->同轴线->E-port拓展板(拨码开关为Device) -> TypeC -> 设备USBA。
此时设备才会出现ACM0。如果没出现ACM0可以优先检查下拨码开关是否位置正确,使用的TypeC是否为数据线。
M300会用USB的链路作为串口通信链路(DEV2),M300机型上,DEV1、DEV2均会被用来做串口通信,DEV1主要用在负载协商初始化阶段,因此DEV1如果端口不存在或链路不通,PSDK初始化会失败,DEV2主要用在飞行控制功能上、获取飞机SN信息等功能和获取飞机心跳包,如果DEV2不通(或在HalUart_GetStatus函数中将
} else if (uartNum == DJI_HAL_UART_NUM_1) {
status->isConnect = true;改为了false,表示不检索DEV2端口
),修改过后PSDK初始化是可以通过的,但是无法获取到飞机的相关产品信息和使用飞行控制功能,且遥控器上也无法检索到PSDK负载的接入。
如果插拔没有新增端口,可以检查下串口工具的驱动是否有安装,串口电平是否正确(飞机通信电平是3V3)
M300 M350云台口不需要配置DEV2,只用到DEV1。
评论
5 条评论
“关于DEV2,这个是M300才需要配置的,其他机型可以不用处理,M300会用到USB的通道作为串口功能使用,因此需要配置额外的UART端口。”
-----但jetson上没看到ttyACM0,这个需要怎么配置?另外实际UART2需要跟M300连接吗,怎么连?
你好 好兄弟我最近也在搞这个 那个ACM0 我是把线插在osdk旁边的typec调参口 然后就出现了
你好,按照你“关于DEV2,这个是M300才需要配置的,其他机型可以不用处理”的说法,我使用M30是不是也不需要DEV2?我使用USB-TTL插UART端口后,是多了一个/dev/ttyACM0,那我是不是把DEV1改成/dev/ttyACM0,DEV2改成其他或者不动这样吗?
请问M300必须要用到DEV2吗,是否可以共用DEV1呢?
如果要用DEV2的话,具体是用来干嘛的,这么测试只用DEV1的话可以发送一些命令数据给飞机比如设置返航高度、设置RTK等,但是获取媒体文件这些一直失败的
M300机型建议DEV1 DEV2均连接,如果有使用E-Port拓展板,需要把拨码开关拨到Device(唯一配置,M300不支持Host),此时飞机做Device,设备做Host设备,连接方式:飞机->同轴线->E-port拓展板(拨码开关为Device) -> TypeC -> 设备USBA。
此时设备才会出现ACM0。如果没出现ACM0可以优先检查下拨码开关是否位置正确,使用的TypeC是否为数据线。
M300会用USB的链路作为串口通信链路,即DEV1、DEV2均会被用来做串口通信,DEV1主要用在负载协商初始化阶段,因此DEV1如果端口不存在或链路不通,PSDK初始化会失败,DEV2主要用在飞行控制功能上、获取飞机SN信息等功能和获取飞机心跳包,如果DEV2不通(或在HalUart_GetStatus函数中将
),修改过后PSDK初始化是可以通过的,但是无法获取到飞机的相关产品信息和使用飞行控制功能,且遥控器上也无法检索到PSDK负载的接入。
请登录写评论。