精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

關于STM32半主機機制的作用

STM32嵌入式開發 ? 來源:STM32嵌入式開發 ? 作者:STM32嵌入式開發 ? 2021-04-09 14:02 ? 次閱讀

半主機機制的作用

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

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

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

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

Use MicroLIB(微庫)

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

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

37a51ec0-9869-11eb-8b86-12bb97331649.png

在主程序中添加代碼

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

【功 能】 printf函數重定向支持代碼 * 加入以下代碼, 使用printf函數時, 不再需要選擇use MicroLIB * 參 數: * 返回值:

#pragma import(__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;}

STM32嵌入式開發

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

文章出處:【微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    5068

    文章

    19019

    瀏覽量

    303278
  • STM32
    +關注

    關注

    2266

    文章

    10871

    瀏覽量

    354806

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

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    虛擬主機名詞解釋

    虛擬主機(Virtual Host/Virtual Server)是一種在單一主機主機群上,實現多網域服務的方法,可以運行多個網站或服務的技術。以下是關于虛擬
    的頭像 發表于 10-25 09:26 ?159次閱讀

    usb主機模式怎么打開

    與外部設備進行數據傳輸和交互。以下是關于如何打開USB主機模式的指南。 1. 了解USB主機模式 USB主機模式允許設備充當USB主機,這意
    的頭像 發表于 09-25 09:08 ?908次閱讀

    淺談SOC片上系統LoRa-STM32WLE5數據安全防御機制

    LoRa-STM32WLE5 SoC模塊不僅僅是一個具備出色通信能力的無線模塊,更是一個集成了多重安全機制的高效SoC解決方案。通過AES硬件加密、PCROP讀寫保護、MPU內存管理等技術的結合,它為物聯網設備提供了全方位的安全防護,確保數據、固件、系統在各個層面上的安全
    的頭像 發表于 09-06 17:37 ?454次閱讀
    淺談SOC片上系統LoRa-<b class='flag-5'>STM32</b>WLE5數據安全防御<b class='flag-5'>機制</b>

    請問D類功放的橋逆變加入變壓器的作用是什么?

    請問D類功放的橋逆變加入變壓器的作用是什么? 想做一款100W的功放,看到很多都是功放IC直接LC濾波,但是也有一些方案是隔離橋的變壓器之后用LC濾波,想了解一下問什么會有變壓器這種方案? 多謝
    發表于 08-15 06:42

    申威終端主機G701

    主機
    jf_67464575
    發布于 :2024年06月11日 08:53:30

    使用USBUART組件與主機PC通信,如果在串行端口打開的情況下終止固件,主機端為什么會報錯?

    我正在使用 USBUART 組件與主機 PC 通信,我一直在尋找某種機制來關閉 MCU 端的串行端口,或者至少通知主機我將關閉端口。 我遇到過這樣一個問題:如果在串行端口打開的情況下終止固件(如重置
    發表于 06-03 08:41

    求助,關于stm32應用bootloader主機端接收ACK的問題求解

    最近接手了一個學長所做的編程板程序。其中想用GO命令實現程序在目標新品的ram區運行功能。發送0x21+0xDE后返回ACK正常,但是發送起始地址和校驗和之后很長時間主機未收到ACK或者NACK。我
    發表于 05-17 06:45

    STM32F107做USB主機鍵盤,鍵盤上那3個LED燈的功能怎么按都不起作用是怎么回事?

    STM32F107做USB主機讀取鍵盤按鍵數值用串口調試助手顯示都很正常,只是鍵盤上那3個LED燈的功能怎么按都不起作用,求大神指點
    發表于 05-14 06:56

    STM32F0作為I2c的從機時,響應主機的讀命令,如何知道主機發回的ACK還是No ACK?

    如題, 請教各位大神, STM32F0作為I2c的從機時(硬件IIc,中斷方式), 響應主機的讀命令, 發送了一個字節后 , 如何知道主機發回的ACK還是No ACK , 范例里面都是一個字節的, 如果
    發表于 05-11 09:10

    關于STM32 DMAMUX模塊具體的應用示例代碼

    有人通過公眾號微信留言,詢問是否有關于STM32 DMAMUX模塊具體的應用示例代碼。同時,個人也發現,雖然STM32片內的DMAMUX不是什么新模塊,似乎還是很多人并不太熟悉。這里借機聊聊這方面的內容,重點演示相關功能的實現,
    的頭像 發表于 03-25 09:15 ?2331次閱讀
    <b class='flag-5'>關于</b><b class='flag-5'>STM32</b> DMAMUX模塊具體的應用示例代碼

    stm32h750既要實現主機,也要實現從機功能,要怎么實現呢?

    STM32_USB_Device_Library和STM32_USB_Host_Library。請問下,H750既要實現主機,也要實現從機功能,要怎么實現呢?有什么資料可以參考下嗎?
    發表于 03-19 06:46

    橋驅動電路的作用及設計要點

    橋驅動電路根據控制信號的輸入,在適當的時機控制高側和低側開關器件的導通與截止。通過精確控制開關的狀態,橋驅動電路可以控制電源電壓的輸出和輸出功率的調節。
    的頭像 發表于 02-05 18:17 ?6302次閱讀
    <b class='flag-5'>半</b>橋驅動電路的<b class='flag-5'>作用</b>及設計要點

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

    STM32是一款常用的微控制器系列,它具有廣泛的應用領域,包括工業控制、汽車電子、消費電子等。其中,STM32同時支持USB主機和設備功能,使得它在與其他USB設備的通信中具有很大的優勢。在本文
    的頭像 發表于 12-20 15:56 ?1286次閱讀

    固態電池率先進入量產裝車階段

    近日有更多電池廠、主機廠也紛紛在固態電池賽道中釋放出升溫的信息。本周,蜂巢能源正式發布全球首款量產方形固態電池(即二代果凍電池),突破了方殼中高鎳摻硅體系膨脹的瓶頸,目前已進入A樣開發階段。
    發表于 12-19 15:08 ?636次閱讀

    STM32 DMA傳輸的問題分析

    用戶使用STM32G473RET6芯片,開發環境STM32CubeMX+Keil(LL庫)。使用DMA1通道1,在傳輸中斷和完全傳輸中斷里,拷貝ADC采集的數據。在應用過程中發現DMA
    的頭像 發表于 12-01 09:19 ?2716次閱讀
    <b class='flag-5'>STM32</b> DMA傳輸的問題分析