一、使用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;
}
上一篇:STM8L052 溫度控制器
下一篇:初識STM8S105K心得
推薦閱讀
史海拾趣
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 480Wh/kg!湖南久森半固態(tài)金屬鋰負極電池即將量產(chǎn)
- 中國首條硫化物固體電解質(zhì)量產(chǎn)線正式落地
- QUT開發(fā)出新的LENS系統(tǒng) 可以讓機器人進行類似大腦的導(dǎo)航
- 毫米波雷達裝機量分析:毫米波雷達裝車量持續(xù)攀升,大陸和博世占據(jù)60%以上市場份額
- TDK推出適用于車載濾波器的同軸電纜供電電感器
- 大摩給“人形機器人100”清單注入新思路
- 行家預(yù)判:2025年車載Mini LED反超OLED
- 2025數(shù)智未來峰會:深度解讀AI賦能工業(yè)的趨勢與實踐
- 工業(yè)自動化中的Raspberry Pi:簡化經(jīng)濟實惠的邊緣計算
- 意法半導(dǎo)體宣布擴大在新加坡的“Lab-in-Fab”廠內(nèi)實驗室合作項目