迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1678|回复: 4

【提问】迪文屏回码太快,接收不到

[复制链接]

1

主题

1

回帖

30

积分

新手上路

Rank: 1

积分
30
发表于 2020-2-6 16:42:45 | 显示全部楼层 |阅读模式
   现在开发的迪文屏为DMT10600T070_15WTR(UI版本为T5UID2).使用STM32单片机,485通讯,波特率为115200。我发送指令后,迪文屏约2mS后就返回数据,导致有时收不到数据。   发送完成后,我直接开始接收,程序如下
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
  if ( huart->Instance == USART1 )
  {
      HAL_GPIO_WritePin(DE1_GPIO_Port, DE1_Pin, GPIO_PIN_RESET);        //485接收使能


      RecByteNum = 0;
     TU1ReceiveData = 0;       //接收时间清零
        
      HAL_UART_Receive_DMA(&huart1,ReceiveBuffer,CU1ReceiveBufferSize);

  }
}


使用串口助手,发现每次发送完,迪文屏均有回码,但发送完,到接收到数据之间间隔小于2mS,导致我有时收不到数据
[16:14:36.577]发→◇5A A5 06 83 00 10 05 E4 63 □
[16:14:36.579]收←◆5A A5 10 83 00 10 05 11 01 02 01 12 36 1D 00 00 00 F8 B2
[16:14:49.429]发→◇5A A5 06 83 00 10 05 E4 63 □
[16:14:49.431]收←◆5A A5 10 83 00 10 05 11 01 02 01 12 36 2A 00 00 00 F6 C6

   迪文屏配置中能修改响应数据的间隔时间吗?





回复

使用道具 举报

94

主题

138

回帖

1300

积分

超级版主

Rank: 8Rank: 8

积分
1300
发表于 2020-2-6 20:04:47 | 显示全部楼层
您好,115200  波特率下 2ms   间隔有200bit  已经算比较久长的时间了,如果不改程序,可以增加缓冲器延时。
回复

使用道具 举报

1

主题

1

回帖

30

积分

新手上路

Rank: 1

积分
30
 楼主| 发表于 2020-2-6 21:12:43 | 显示全部楼层
十五 发表于 2020-2-6 20:04
115200  波特率下 2ms   间隔有200bit  已经算比较久长的时间了,如果不改程序,可以增加缓冲器延时。 ...

怎么增加缓冲延时?
回复

使用道具 举报

7

主题

74

回帖

665

积分

高级会员

Rank: 4

积分
665
发表于 2020-2-8 09:58:01 | 显示全部楼层
楼主你是ST的单片机吧,你要用UART 空闲中断。不用说2ms。 2us都没问题。
回复

使用道具 举报

12

主题

161

回帖

962

积分

高级会员

Rank: 4

积分
962
QQ
发表于 2020-2-11 08:13:13 | 显示全部楼层
这个下位机处理串口接受这块就可以了,可用DMA方式,速度是最快的,参考我的帖子http://inforum.dwin.com.cn:20080 ... thread&tid=1223
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 11:49 , Processed in 0.076112 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表