找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

STM32和openmv串口通訊運(yùn)行速度變慢

查看數(shù): 3327 | 評(píng)論數(shù): 2 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2021-2-17 09:27

正文摘要:

1.使用了仿真器下載程序 2.可以正常收發(fā)數(shù)據(jù) 3.在拔掉openmv串口后,程序起飛,正常運(yùn)行 4插上串口后,一行代碼大概跑0.5秒,屏幕刷新很慢 視頻中黑屏是放下手機(jī)在插線,各位大佬移步觀看視頻(GIF)。 ...

回復(fù)

ID:644357 發(fā)表于 2021-2-17 09:34
這是串口中斷
  1. void DEBUG_USART_IRQHandler(void)
  2. {
  3.         if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET)
  4.         {       
  5.                 temp_head[0] = USART_ReceiveData(DEBUG_USARTx);
  6.                  
  7.         }
  8. }
復(fù)制代碼

這是顯示數(shù)據(jù)的代碼
  1.         while(1)
  2.         {
  3.                 Gui_DrawFont_GBK16(5,5,BLUE,BLACK,"任務(wù)顯示:");
  4.                 Gui_DrawFont_GBK16(5,55,BLUE,BLACK,"進(jìn)程:");
  5.                 Gui_DrawFont_Num32(0 ,20,GREEN,BLACK,Num[2]);
  6.                 Gui_DrawFont_Num32(0 ,20,BLACK,BLACK,Num[2]);
  7.                 Gui_DrawFont_Num32(0 ,20,GREEN,BLACK,Num[3]);
  8.                 Gui_DrawFont_Num32(0 ,20,BLACK,BLACK,Num[3]);
  9.                 Gui_DrawFont_Num32(0 ,20,GREEN,BLACK,Num[4]);
  10.                 Gui_DrawFont_Num32(0 ,20,BLACK,BLACK,Num[4]);
  11.                
  12.                 Gui_DrawFont_Num32(25,20,GREEN,BLACK,Num[2]);
  13.                 Gui_DrawFont_Num32(50,20,GREEN,BLACK,Num[3]);
  14.                 Gui_DrawFont_GBK16(82,30,RED,BLACK,"+");
  15.                 Gui_DrawFont_Num32(90,20,GREEN,BLACK,Num[1]);
  16.                 Gui_DrawFont_Num32(115,20,GREEN,BLACK,Num[2]);
  17.                 Gui_DrawFont_Num32(140,20,GREEN,BLACK,Num[3]);
  18.                 USART_SendData(DEBUG_USARTx,0xA2);
  19.                 sprintf((char*)cx_buf,"cx:%08X",temp_head[2]);
  20.                 Gui_DrawFont_GBK16(5,80,RED,BLACK,cx_buf);
復(fù)制代碼


ID:332130 發(fā)表于 2021-2-17 09:27
沒(méi)有清除串口接收中斷標(biāo)志。
void DEBUG_USART_IRQHandler(void)
{
        if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET)
        {      
                temp_head[0] = USART_ReceiveData(DEBUG_USARTx);
                 
        }
        USART_ClearITPendingBit(DEBUG_USARTx, USART_IT_RXNE);
        USART_ClearFlag(DEBUG_USARTx, USART_FLAG_RXNE);
}

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表