娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月12日(星期六)

正在發(fā)生

2020年10月12日 | 直接使用單片機的USART發(fā)送數(shù)據(jù)

發(fā)布者:清晨微風(fēng) 來源: eefocus關(guān)鍵字:單片機  USART  發(fā)送數(shù)據(jù) 手機看文章 掃描二維碼
隨時隨地手機看文章

一、使用USART發(fā)送數(shù)據(jù)

??我們在寫單片機程序的時候,在Debug時,往往要用到串口輸出信息,這是會使用printf打印出我們想要的信息來,但是printf有一個弊端,就是輸出打印時間較長。這樣在一些對時間精度要求非常高的場合,使用printf將會帶來一系列問題,這時,如果使用單片機的USART自定義一個協(xié)議,直接發(fā)送數(shù)據(jù)到上位機,將會得到我們想要的效果。下面對怎樣使用USART發(fā)送數(shù)據(jù)做一個整理。


1、發(fā)送單個字符


void USART1_PutChar(u8 ch)

{

USART_SendData8(USART1,(u8)ch);


while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);


while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET);

}


2、發(fā)送固定長度的字符串


void USART1_PutStrLen(u8 *buf,u16 len)

{

for(;len > 0 ; len--)

{

    USART_SendData8(USART1,*buf++);


    while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);

}


while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET);

}


3、發(fā)送任意長度的字符串


void USART1_PutStr(u8 *buf)

{

while(*buf)

{

    USART_SendData8(USART1,*buf++);


    while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);

}

while(USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET);

}


二、如何發(fā)送16bit的數(shù)據(jù)

??單片機(STM8)的USART發(fā)送的是8bit的數(shù)據(jù),所以如果要發(fā)送16bit的數(shù)據(jù),則需要將16bit的數(shù)據(jù)轉(zhuǎn)換為8bit的高低兩個字節(jié)進行發(fā)送,需做如下處理。


u16 data;

u8 high_byte,low_byte;

high_byte=data>>8;

low_byte=data;

則經(jīng)過這樣的轉(zhuǎn)換之后,就可以直接使用USART進行發(fā)送了。


三、使用翻轉(zhuǎn)電平的方式測量程序執(zhí)行時間

??我們想要知道某一段代碼的執(zhí)行時間,可以通過示波器來測量,在需要測量的代碼處做一個翻轉(zhuǎn)電平的程序,就可以通過示波器來查看程序的執(zhí)行時間了。代碼如下:



 u8 toggle_flag=1;


if(toggle_flag)

{

    GPIO_SetBits(GPIOC,GPIO_Pin_0); 

    toggle_flag=0;

}

else

{

    GPIO_ResetBits(GPIOC,GPIO_Pin_0);

    toggle_flag=1;

}


關(guān)鍵字:單片機  USART  發(fā)送數(shù)據(jù) 引用地址:直接使用單片機的USART發(fā)送數(shù)據(jù)

上一篇:STM8L052 溫度控制器
下一篇:初識STM8S105K心得

推薦閱讀

雖然機器人還取代不了人工同傳,但是取代倉庫管理員綽綽有余。最近優(yōu)衣庫在東京的一個倉庫啟用了一套自動化系統(tǒng),由機器人負責(zé)倉庫內(nèi)服裝檢查和分揀工作,這也是優(yōu)衣庫第一個“機器人倉庫”,優(yōu)衣庫表示這套系統(tǒng)能取代 90% 的人力,并且可以 24 小時不間斷運行。日本媒體 Japan News 受邀參觀優(yōu)衣庫這一倉庫,了解整套機器人系統(tǒng)的運作流程。在服裝...
var videoObject = { container: '.video', variable: 'player', autoplay: true, ...
國家統(tǒng)計局數(shù)據(jù)顯示,8月份規(guī)模以上工業(yè)中,一些新產(chǎn)品保持較快增長,比如服務(wù)機器人、智能手表,產(chǎn)量當月增長都在70%以上。工業(yè)機器人產(chǎn)量同比增加了32.5%,增速達兩年內(nèi)峰值,1-8月累計產(chǎn)量13.7萬套,同比增加13.9%。 從行業(yè)絕對量上看,每一輪自動化周期基本都能夠讓行業(yè)總體規(guī)模上一個臺階,然后穩(wěn)定在相對較高的水平上,工業(yè)機器人2009-2012年...
看門狗定時器溢出時將產(chǎn)生持續(xù)時間為1 個CK 周期的復(fù)位脈沖。在脈沖的下降沿,延時定時器開始對tTOUT 記數(shù)。請參見P40 以了解看門狗定時器的具體操作過程。

史海拾趣

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 建阳市| 永吉县| 加查县| 抚顺县| 西青区| 小金县| 肥东县| 徐汇区| 房山区| 溆浦县| 龙南县| 兴海县| 万盛区| 游戏| 乌海市| 潮安县| 玉田县| 济南市| 蒙自县| 卢龙县| 神池县| 双鸭山市| 辰溪县| 青铜峡市| 永新县| 汝南县| 德格县| 阿瓦提县| 宝清县| 河池市| 黎平县| 杂多县| 疏勒县| 南宫市| 中西区| 襄垣县| 阿拉善左旗| 牙克石市| 延寿县| 周宁县| 林口县|