OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2680|回复: 2

串口通讯-发90字节数据-中间是否要适当延时?为别的任务腾出时间

[复制链接]

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
139
金钱
139
注册时间
2018-11-19
在线时间
114 小时
发表于 2020-9-3 18:02:25 | 显示全部楼层 |阅读模式
硬件
信息
:STM32F103VE   

软件信息:波特率 9600   RT -thread   HALL库


疑惑: 串口通讯-发90字节数据-中间是否要适当延时?延时目的:为别的任务腾出时间




[17:55:37.539]发→◇41 34 41 32 0F F0 83 18 9C 41 41 41 41 41 41 41 41 08 98 ED □

[17:55:37.586]收←◆1F FF 19 93 77
[17:55:37.655]收←◆BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB
[17:55:37.726]收←◆BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB
[17:55:37.770]收←◆BB BB BB BB BB BB BB 6B ED ED
[17:55:47.541]发→◇41 34 41 32 0F F0 83 18 9C 41 41 41 41 41 41 41 41 08 98 ED □
[17:55:47.590]收←◆1F FF 19 93 77
[17:55:47.658]收←◆BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB
[17:55:47.730]收←◆BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB
[17:55:47.773]收←◆BB BB BB BB BB BB BB 6B ED ED
[17:55:57.538]发→◇41 34 41 32 0F F0 83 18 9C 41 41 41 41 41 41 41 41 08 98 ED □
[17:55:57.586]收←◆1F FF 19 93 77
[17:55:57.655]收←◆BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB
[17:55:57.727]收←◆BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB
[17:55:57.770]收←◆BB BB BB BB BB BB BB 6B ED ED
[17:56:07.541]发→◇41 34 41 32 0F F0 83 18 9C 41 41 41 41 41 41 41 41 08 98 ED □
[17:56:07.588]收←◆1F FF 19 93 77
[17:56:07.657]收←◆BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB
[17:56:07.729]收←◆BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB
[17:56:07.772]收←◆BB BB BB BB BB BB BB 6B ED ED
[17:56:17.538]发→◇41 34 41 32 0F F0 83 18 9C 41 41 41 41 41 41 41 41 08 98 ED □
[17:56:17.587]收←◆1F FF 19 93 77
[17:56:17.656]收←◆BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB
[17:56:17.728]收←◆BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB BB BB BB BB BB BB BB 6B BB
[17:56:17.770]收←◆BB BB BB BB BB BB BB 6B ED ED


void Usart_report_data(void)
{
  uint8_t cycle_count=0;
   uint8_t Usart_report_data_buff[9]={0xbb};
  uint8_t Usart_report_data_head_and_end[7]={0x1f,0xff,0x19,0x93,0x77,0xed,0xed};  //5×Ö½ÚÓÃÓÚÊý¾Ý°üÍ· 2×Ö½ÚÓÃÓÚÊý¾Ý°üβ
  
  
  rt_memset(Usart_report_data_buff,0xbb,9);   //Êý¾Ý°üÄÚÊý¾Ý¸³Öµ
  
  Usart_TX_set_enable();
  
/***************************************·¢ËÍÊý¾Ý°üÍ·**************************************************/
  HAL_UART_Transmit(&uart->handle,Usart_report_data_head_and_end,5,TX_TIMEOUT);
rt_thread_delay(30);
  
/*******************************************·¢ËÍÊý¾Ý°üÄÚµÄ64×Ö½ÚÊý¾Ý**********************************************/
  for(cycle_count=0;cycle_count<8;cycle_count++)
  {
//   Usart_report_data_buff[0]=0xD0+cycle_count;
   Usart_report_data_buff[8] = crc8_rohc(&Usart_report_data_buff[0],8);
   HAL_UART_Transmit(&uart->handle,Usart_report_data_buff,9,TX_TIMEOUT);
//   rt_thread_delay(10);                                     //发完9字节数据,进入下9字节数据发送时  是否需要增加延时? 延时目的:为别的任务腾出时间
  }
/***************************************·&cent;&Euml;&Iacute;&Ecirc;&yacute;&frac34;&Yacute;°ü&Icirc;&sup2;*************************************************/

  HAL_UART_Transmit(&uart->handle,&Usart_report_data_head_and_end[5],2,TX_TIMEOUT);
  
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3370
金钱
3370
注册时间
2011-11-10
在线时间
207 小时
发表于 2020-9-3 18:34:10 | 显示全部楼层
这个你自己定了,看你打印任务紧急还是另个线程紧急。使用rt_thread_delay(10)后,当前线性就进入阻塞状态;这个时候整个系统切换到其他就绪的线程运行。另外你串口打印一开始立即就转走,有可能导致打印数据不正常,当打印的数据多的时候更容易发生。
回复 支持 反对

使用道具 举报

3

主题

808

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3888
金钱
3888
注册时间
2017-3-7
在线时间
1694 小时
发表于 2020-9-3 18:44:50 | 显示全部楼层
大数据量的话使用dma呗,不占用cpu
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-6 03:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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