一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

關于STM32半主機機制的作用

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

半主機機制的作用

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

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

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

非半主機機制下printf函數(shù)的實現(xiàn)方法

Use MicroLIB(微庫)

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

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

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

在主程序中添加代碼

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

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

#pragma import(__use_no_semihosting) //為確保沒有從C庫鏈接使用半主機的函數(shù) struct __FILE { int handle; }; // 標準庫需要的支持函數(shù)FILE __stdout; // FILE 在stdio.h文件void _sys_exit(int x) // 定義_sys_exit()以避免使用半主機模式{ x = x; }

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

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

STM32嵌入式開發(fā)

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

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

責任編輯:haq

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

    關注

    5126

    文章

    19446

    瀏覽量

    313344
  • STM32
    +關注

    關注

    2285

    文章

    10986

    瀏覽量

    361469

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    使用STM32的SPI主機通訊需要喚醒嗎?

    在使用STM32生成的工程里面,使用SPI作為主機模式,在與從機通訊的時候,第一次發(fā)送字節(jié)之前,需要發(fā)送一個空字節(jié),SPI通訊才正常,要不SPI通訊不正常,大家在使用的時候有人遇到類似的問題嗎? 還是說要發(fā)送一個空字節(jié) 喚醒SPI的主機
    發(fā)表于 03-10 08:22

    香港主機托管和國內主機的優(yōu)缺點比較

    香港主機托管和國內主機(以大陸主機為例)的優(yōu)缺點比較,主機推薦小編為您整理發(fā)布香港主機托管和國內主機
    的頭像 發(fā)表于 02-05 17:42 ?303次閱讀

    EE-56:關于SHARC EPROM和主機引導加載程序的提示和技巧

    電子發(fā)燒友網站提供《EE-56:關于SHARC EPROM和主機引導加載程序的提示和技巧.pdf》資料免費下載
    發(fā)表于 01-05 09:57 ?0次下載
    EE-56:<b class='flag-5'>關于</b>SHARC EPROM和<b class='flag-5'>主機</b>引導加載程序的提示和技巧

    關于理想汽車的車輛OTA機制問題

    近期,有網友比較關心理想汽車的車輛OTA機制,針對大家關心的問題,我們整理出以下問答供大家了解。
    的頭像 發(fā)表于 12-18 10:09 ?449次閱讀

    虛擬主機名詞解釋

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

    冰水主機遠程監(jiān)控運維管理系統(tǒng)

    監(jiān)控與智能管理,為生產安全提供可靠幫助。 傳統(tǒng)冰水主機管理的缺陷 1、現(xiàn)場故障響應不及時:由于缺乏遠程故障報警機制,監(jiān)管人員難以及時獲取消息并處理設備故障,導致故障搶修不及時,甚至造成財產損失。 2、數(shù)據(jù)管理不便
    的頭像 發(fā)表于 10-15 17:19 ?419次閱讀
    冰水<b class='flag-5'>主機</b>遠程監(jiān)控運維管理系統(tǒng)

    usb主機模式怎么打開

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

    淺談SOC片上系統(tǒng)LoRa-STM32WLE5數(shù)據(jù)安全防御機制

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

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

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

    申威終端主機G701

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

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

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

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

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

    電容器儲能機制詳解

    電容器,作為電子元件的重要組成部分,其儲能機制對于理解電路運行、提高能量轉換效率以及推動科技發(fā)展具有至關重要的作用。本文將對電容器的儲能機制進行深入的探討,包括其基本結構、儲能原理、儲能類型以及應用領域等多個方面。
    的頭像 發(fā)表于 05-16 17:50 ?2336次閱讀

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

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

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

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