電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>通過PC機的串口調(diào)試助手將數(shù)據(jù)發(fā)送至STM32資料下載

通過PC機的串口調(diào)試助手將數(shù)據(jù)發(fā)送至STM32資料下載

2021-04-10 | pdf | 134.11KB | 次下載 | 5積分

資料介紹

本例程通過PC機的串口調(diào)試助手將數(shù)據(jù)發(fā)送至STM32,接收數(shù)據(jù)后將所接收的數(shù)據(jù)又發(fā)送至PC機,具體下面詳談。。。 實例一: void USART1_IRQHandler(u8 GetData) { u8 BackData; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //中斷產(chǎn)生 { USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除中斷標志. GetData = UART1_GetByte(BackData); //也行GetData=USART1->DR; USART1_SendByte(GetData); //發(fā)送數(shù)據(jù) GPIO_SetBits(GPIOE, GPIO_Pin_8 ); //LED閃爍,接收成功發(fā)送完成 delay(1000); GPIO_ResetBits(GPIOE, GPIO_Pin_8 ); } } 這是最基本的,將數(shù)據(jù)接收完成后又發(fā)送出去,接收和發(fā)送在中斷函數(shù)里執(zhí)行,main函數(shù)里無其他要處理的。 優(yōu)點:簡單,適合很少量數(shù)據(jù)傳輸。 缺點:無緩存區(qū),并且對數(shù)據(jù)的正確性沒有判斷,數(shù)據(jù)量稍大可能導致數(shù)據(jù)丟失 。 實例二: void USART2_IRQHandler() { if(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET) //中斷產(chǎn)生 { USART_ClearITPendingBit(USART2,USART_IT_RXNE); //清除中斷標志 Uart2_Buffer[Uart2_Rx_Num] = USART_ReceiveData(USART2); Uart2_Rx_Num ; } if((Uart2_Buffer[0] == 0x5A)&&(Uart2_Buffer[Uart2_Rx_Num-1] == 0xA5)) //判斷最后接收的數(shù)據(jù)是否為設定值,確定數(shù)據(jù)正確性 Uart2_Sta=1; if(USART_GetFlagStatus(USART2,USART_FLAG_ORE) == SET) //溢出 { USART_ClearFlag(USART2,USART_FLAG_ORE); //讀SR USART_ReceiveData(USART2); //讀DR } } if( Uart2_Sta ) { for(Uart2_Tx_Num=0;Uart2_Tx_Num USART2_SendByte(Uart2_Buffer[Uart2_Tx_Num]); //發(fā)送數(shù)據(jù) Uart2_Rx_Num = 0; //初始化 Uart2_Tx_Num = 0; Uart2_Sta = 0; } 這是加了數(shù)據(jù)頭和數(shù)據(jù)尾的接收方式,數(shù)據(jù)頭和尾的個數(shù)可增加,此處只用于調(diào)試之用。中斷函數(shù)用于接收數(shù)據(jù)以及判斷數(shù)據(jù)的頭尾,第二個函數(shù)在main函數(shù)里按照查詢方式執(zhí)行。 優(yōu)點:較簡單,采用緩存區(qū)接收,對提高數(shù)據(jù)的正確行有一定的改善 。 缺點:要是第一次數(shù)據(jù)接收錯誤,回不到初始化狀態(tài),必須復位操作 。 實例三: void USART2_IRQHandler() { if(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET) //中斷產(chǎn)生 { USART_ClearITPendingBit(USART2,USART_IT_RXNE); //清除中斷標志. Uart2_Buffer[Uart2_Rx] = USART_ReceiveData(USART2); Uart2_Rx ; Uart2_Rx &= 0x3F; //判斷是否計數(shù)到最大 } if(USART_GetFlagStatus(USART2,USART_FLAG_ORE) == SET) //溢出 { USART_ClearFlag(USART2,USART_FLAG_ORE); //讀SR USART_ReceiveData(USART2); //讀DR } } if( Uart2_Tx != Uart2_Rx ) { USART2_SendByte(Uart2_Buffer[Uart2_Tx]); //發(fā)送數(shù)據(jù) Uart2_Tx ; Uart2_Tx &= 0x3F; //判斷是否計數(shù)到最大 } 采用FIFO方式接收數(shù)據(jù),由0x3F可知此處最大接收量為64個,可變,中斷函數(shù)只負責收,另一函數(shù)在main函數(shù)里執(zhí)行,F(xiàn)IFO方式發(fā)送。 優(yōu)點:發(fā)送和接收都很自由,中斷占用時間少,有利于MCU處理其它。 缺點:對數(shù)據(jù)的正確性沒有判斷,一概全部接收。 實例四:
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費