久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1664|回復: 10
打印 上一主題 下一主題
收起左側

stm單片機串口發送的疑問

[復制鏈接]
跳轉到指定樓層
樓主
ID:525511 發表于 2023-11-28 11:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在串口數據發送操作中,單片機代碼一般是這樣寫的:void USART_SendByte(USART_TypeDef* USARTx, uint8_t Data){    while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);    USART_SendData(USARTx,Data);    }
那么這里while不是一直在死等嗎?這個過程程序是不做任何事的,和delay有什么分別?都說程序中不要用延時死等,那么這里怎么辦?如果要發送的數據很多的話,每次都在這里死等一下,整體會拖慢程序運行速度吧?不加這個while的話還有其它方法實現發送功能嗎?我知道可以用DMA,但好像不是所有片子都有DMA吧?虛心求教
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:401564 發表于 2023-11-28 14:35 | 只看該作者
雖然說都是死等,但效率并不會太慢
你看一下代碼就知道了
調用函數之后并不是先發送數據,而是先查詢發送完成標志位
然后,就發送數據,函數就返回了,程序在返回之后就可以去做其它的事了
其實這就已經可以了,串口本身就是不用來進行超高速數據傳送的
回復

使用道具 舉報

板凳
ID:94031 發表于 2023-11-28 14:50 | 只看該作者
while是檢測到發送完就進行下一步,delay不可能比while時間短,最好用while。
回復

使用道具 舉報

地板
ID:744809 發表于 2023-11-28 15:23 | 只看該作者
可以寫一個發送隊列,然后用發送中斷的方式進行發送,每發送一個字節會進入發送中斷一次,此時在中斷里判斷發送buf還有沒有待發送的字節,有則繼續發送,沒有則說明此次發送已經好了。
回復

使用道具 舉報

5#
ID:470485 發表于 2023-11-28 16:12 | 只看該作者
不是死等,是反復檢查,當檢測到發送完(時間可長可短),就進入下一步
Delay等待只能固定時間,不能靈活控制。
回復

使用道具 舉報

6#
ID:1093268 發表于 2023-11-28 16:12 | 只看該作者
大部分應用對于:“串口阻塞發送”,并不會對其他進程的時效有多大影響。除非要發送很多很多字節或其他進程的實時要求特別高,才不會選擇這種阻塞發送。如果不能用阻塞發送,可以利用串口BUF空中斷+串口發送完成中斷+軟件做個發送緩沖器。
回復

使用道具 舉報

7#
ID:124486 發表于 2023-11-28 18:43 | 只看該作者
不是死等,是檢測是否接收或者發送完成等待,任務不需要即時響應的話,波特率調快一點還好這種方式也還行,如果不想等就用中斷做
回復

使用道具 舉報

8#
ID:384109 發表于 2023-11-28 19:33 | 只看該作者
改中斷發送方式就好了
回復

使用道具 舉報

9#
ID:883242 發表于 2023-11-28 22:43 | 只看該作者
可以把這個死等程序放主循環里面,其他功能在中斷完成,就不會有卡死的現象了。這個死等只要別放在中斷里面等就沒問題。
回復

使用道具 舉報

10#
ID:744809 發表于 2023-11-29 16:53 | 只看該作者
Hephaestus 發表于 2023-11-28 22:43
可以把這個死等程序放主循環里面,其他功能在中斷完成,就不會有卡死的現象了。這個死等只要別放在中斷里面 ...

你這太抽象了,哪有把串口放主函數,其他放中斷的。本末倒置了不是
回復

使用道具 舉報

11#
ID:525511 發表于 2023-12-1 15:51 | 只看該作者
好的,明白了,多謝各位
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 四虎伊人| 99久久精品视频免费 | 国产乡下妇女做爰 | 久久久精品国产 | 国产一区二区在线播放 | 91观看 | 91在线影院 | 亚洲免费在线 | h小视频 | 一区二区三区免费 | 美日韩精品 | 精品网站999www | 亚洲欧洲日韩精品 中文字幕 | 久久久国产精品 | 日韩精品视频在线 | 国产精品永久久久久久久www | 久久夜色精品国产 | 亚洲人在线 | 欧美成人视屏 | www久| 亚洲av毛片 | 国产精品久久久久久久久久东京 | 性精品 | 国产一区二区三区在线观看免费 | 欧美成人一区二区 | 熟女毛片 | 国产精品一区久久久 | 日本不卡免费新一二三区 | 一区二区三区在线电影 | 日韩在线 | 男女羞羞视频大全 | 91激情视频 | 91久久 | 粉嫩国产精品一区二区在线观看 | 99久久久无码国产精品 | 一级黄色裸片 | 免费成人高清 | 亚洲精品免费在线观看 | 狠狠爱免费视频 | 国产黄色一级片 | 成人国产精品久久久 |