在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

STM32的半主機機制介紹

單片機與嵌入式 ? 來源:單片機與嵌入式 ? 2023-07-10 09:01 ? 次閱讀

半主機機制的作用

半主機是用于ARM目標的一種機制,可將來自STM32單片機應用程序的輸入輸出請求傳送至運行仿真器的PC主機。使用此機制可以啟用C庫中的函數,如printf()和scanf(),來使用PC主機的屏幕和鍵盤。這樣就可以看到單片機的輸入輸出,方便進行調試。注意:種機制的運行需要仿真器,否則無法運行。

簡單的來說,半主機模式就是通過仿真器實現開發板在電腦上的輸入和輸出。

開發時單片機需要獨立運行,開發者就應該去掉仿真器,把printf函數通過單片機的外設來實現,例如通過開發板的串口。

非半主機機制下printf函數的實現方法

Use MicroLIB(微庫)

因為使用微庫的話,不會使用半主機模式。

如下圖,在點開MDK軟件的魔術棒,勾選Target選項卡中的“Use MicroLIB”。這樣就可以使用printf()函數,通過USART輸出數據到電腦串口助手。

5fa2d2ca-1e2f-11ee-962d-dac502259ad0.png

在主程序中添加代碼

不使用Use MicroLIB(微庫),就要在工程中加入以下代碼, 以支持printf函數 。代碼是寫在USART的初始化文件中,記得修改USARTx,換成你要輸出的USART端口號。

/******************************************************************************
 * 【功  能】 printf函數重定向支持代碼
 *           加入以下代碼, 使用printf函數時, 不再需要選擇use MicroLIB   
 * 參  數:
*返回值:
 ******************************************************************************/  
#pragmaimport(__use_no_semihosting)//為確保沒有從C庫鏈接使用半主機的函數
struct __FILE       { int handle; };     // 標準庫需要的支持函數
FILE __stdout;                           // FILE 在stdio.h文件
void _sys_exit(int x)                    // 定義_sys_exit()以避免使用半主機模式
{  x = x; }         


int fputc(int ch, FILE *f)               // 重定向fputc函數,使printf的輸出,由fputc輸出到UART,  這里使用串口1(USART1)
{   
    //if(xFlag.PrintfOK == 0) return 0;  // 判斷USART是否已配置,防止在配置前調用printf被卡死


    while((USARTx ->SR&0X40)==0);        // 等待上一次串口數據發送完成  
  USARTx ->DR = (u8) ch;                 // 寫DR,串口1將發送數據    
  return ch;
}





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真器
    +關注

    關注

    14

    文章

    1019

    瀏覽量

    83867
  • ARM處理器
    +關注

    關注

    6

    文章

    361

    瀏覽量

    41851
  • STM32單片機
    +關注

    關注

    59

    文章

    549

    瀏覽量

    58757
  • printf函數
    +關注

    關注

    0

    文章

    31

    瀏覽量

    5904
  • USART串口
    +關注

    關注

    0

    文章

    32

    瀏覽量

    6876

原文標題:STM32的半主機機制

文章出處:【微信號:單片機與嵌入式,微信公眾號:單片機與嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在POSC中使用主機

    如何在POSC中使用主機? 以上來自于百度翻譯 以下為原文How to use semi hosting in POSC?
    發表于 12-19 14:52

    何謂主機方式?

    嵌入式簡答題問題 1 .何謂主機方式?主機是一種調試機制,目標機可借助該機制將應用程序發出的
    發表于 10-27 06:38

    如何構建用于非主機環境的應用程序

    主機是什么?如何構建用于非主機環境的應用程序?
    發表于 12-02 06:32

    什么是主機模式?為什么不用它

    1.禁用主機模式方法一:禁用主機模式,禁用了主機模式才能使用標準庫函數printf()打印
    發表于 01-12 06:23

    嵌入式USB主機系統的研究與設計

    摘要:介紹了USB主機的核心機制及設計方法。
    發表于 07-09 19:01 ?23次下載

    OTG IP主機介紹(上)

    STM32單片機的OTG IP主機介紹(上)
    發表于 11-25 14:50 ?0次下載

    電腦主機板的工作原理介紹

    電腦主機板的工作原理介紹,電腦主機板的工作原理介紹,電腦主機板的工作原理介紹,電腦
    發表于 05-19 15:32 ?0次下載

    主機器人足球系統的通信機制

    電子開發機器人相關教程資料——自主機器人足球系統的通信機制
    發表于 09-06 16:42 ?0次下載

    配置ADuCM302x的主機模式

    配置ADuCM302x處理器系列支持主機模式
    的頭像 發表于 06-07 13:46 ?3033次閱讀
    配置ADuCM302x的<b class='flag-5'>半</b><b class='flag-5'>主機</b>模式

    關于STM32主機機制的作用

    主機機制的作用 主機是用于ARM目標的一種機制,可將來自
    的頭像 發表于 04-09 14:02 ?2587次閱讀
    關于<b class='flag-5'>STM32</b><b class='flag-5'>半</b><b class='flag-5'>主機</b><b class='flag-5'>機制</b>的作用

    "MODBUS移植STM32,分別配置STM32做從機和主機"

    MODBUS移植STM32分別配置STM32做從機和主機近期自學了MODBUS通信協議,也從網上找了很多資料,自己也分別做了從機和主機的配置,現在進行配合操作。MCU采用
    發表于 12-06 18:06 ?81次下載
    "MODBUS移植<b class='flag-5'>STM32</b>,分別配置<b class='flag-5'>STM32</b>做從機和<b class='flag-5'>主機</b>"

    STM32主機機制

    主機是用于ARM目標的一種機制,可將來自STM32單片機應用程序的輸入輸出請求傳送至運行仿真器的PC主機
    發表于 02-08 16:21 ?0次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>半</b><b class='flag-5'>主機</b><b class='flag-5'>機制</b>

    stm32_FSMC機制

    stm32_FSMC機制介紹FSMC機制入門
    發表于 02-21 15:16 ?18次下載

    STM32Cube USB主機

    電子發燒友網站提供《STM32Cube USB主機庫 .pdf》資料免費下載
    發表于 09-21 14:40 ?0次下載
    <b class='flag-5'>STM32</b>Cube USB<b class='flag-5'>主機</b>庫

    stm32 usb 主機發送 pid in的原理和實現方法

    STM32是一款常用的微控制器系列,它具有廣泛的應用領域,包括工業控制、汽車電子、消費電子等。其中,STM32同時支持USB主機和設備功能,使得它在與其他USB設備的通信中具有很大的優勢。在本文
    的頭像 發表于 12-20 15:56 ?1410次閱讀
    主站蜘蛛池模板: 77788色淫网站女女免费视频 | 男男互攻h啪肉np文厉世 | 色视频免费 | 色播激情五月 | 久热福利视频 | 日本免费性 | 乱人伦一区二区三区 | 一区二区三区视频观看 | 亚洲欧美视频在线播放 | 国产亚洲美女精品久久久2020 | 丁香婷婷亚洲 | 美女被免费视频的网站 | 欧美黄色一级网站 | 毛片aa| 操一操干一干 | 亚洲高清视频一区 | 特级一级黄色片 | 色内内免费视频播放 | 亚洲日韩色图 | 加勒比在线一区 | 69日本xxxxxxxxx96| 免费视频色 | 天天摸天天操天天爽 | 永久免费品色堂 | 三级理论在线播放大全 | 天堂在线视频观看 | 中国一级特黄真人毛片免费看 | 天天操天天操天天操 | 精品国产中文一级毛片在线看 | 五月婷婷一区 | 啪啪日韩| 拍拍拍无挡视频免费全程1000 | 三级视频网站在线观看 | 美女网站色在线观看 | 激情福利网| 人人揉揉香蕉大青草 | 久久天天躁夜夜躁狠狠躁2015 | 加勒比黑人喝羽月希奶水 | 国产精品九九久久一区hh | 丁香四月婷婷 | 天天插夜夜爽 |