99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用筆記|直接修改寄存器來(lái)輸出內(nèi)部時(shí)鐘的方法

STM32單片機(jī) ? 來(lái)源:未知 ? 2023-06-13 17:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)鍵字:MCO,手動(dòng)修改寄存器

目錄預(yù)覽

1 在特殊情況下使能 MCO 功能的方法2 具體實(shí)現(xiàn)3 總結(jié)

1. 在特殊情況下使能 MCO 功能的方法

在對(duì)某些不容易復(fù)現(xiàn)的問(wèn)題進(jìn)行代碼調(diào)時(shí),需要觀察內(nèi)部時(shí)鐘的情況,但往往代碼之前并沒(méi)有使能 MCO 功能,在這種情況下就可以使用寄存器直接配置來(lái)輸出內(nèi)部時(shí)鐘到 GPIO 腳位上進(jìn)行觀察和測(cè)試。

下面的例子就是在調(diào)試 STM32G474 很難復(fù)現(xiàn)的一個(gè)問(wèn)題,調(diào)試暫停時(shí),通過(guò) PC 端調(diào)試工具直接更改寄存器配置來(lái)使能 MCO 功能輸出 SYSCLK 到 GPIO 口的方法。

2.具體實(shí)現(xiàn)

MCO 輸出內(nèi)部時(shí)鐘到 GPIO 腳位,可以不通過(guò)運(yùn)行用戶代碼,直接在 PC 端調(diào)試工具中配置寄存器來(lái)實(shí)現(xiàn)。在程序暫停時(shí),往往已經(jīng)走過(guò)了時(shí)鐘配置,在這種情況下首先需要使能并配置RCC_CFGR 寄存器MCOSEL[3:0]=0x1,選 SYSCLK 來(lái)輸出(當(dāng)然,也可以根據(jù)實(shí)際情況選擇輸出其他時(shí)鐘源)。 6802c37e-09cd-11ee-962d-dac502259ad0.png68304952-09cd-11ee-962d-dac502259ad0.png 在調(diào)試軟件中直接手動(dòng)修改寄存器配置值,如下圖:6880b8f6-09cd-11ee-962d-dac502259ad0.png 其次,需要配置 GPIO 通路:GPIO MCO 選用 PA8 , AF0 功能。68cbc01c-09cd-11ee-962d-dac502259ad0.png

GPIO 選擇下面黃色的配置:在下面的配置之前代碼中需要打開(kāi) GPIOA 的 clock。

68fc8f9e-09cd-11ee-962d-dac502259ad0.png

GPIOA_MODER.MODE8[1:0] 在寄存器窗口中手動(dòng)修改為 0x2:

69222f1a-09cd-11ee-962d-dac502259ad0.png

695f148e-09cd-11ee-962d-dac502259ad0.png

GPIOA_OTYPER.OT8 配置為 0,在上電默認(rèn)的情況下,不用修改,已經(jīng)是 0 了。

698b2cf4-09cd-11ee-962d-dac502259ad0.png

GPIOA_OSPEEDR.OSPEED8[1:0] 配置成 0x2 或 0x3。

69a7b6c6-09cd-11ee-962d-dac502259ad0.png

69c47108-09cd-11ee-962d-dac502259ad0.png

GPIOA_PUPDR.PUPD8[1:0] 在寄存器窗口中手動(dòng)配置為 0x1。

69e6217c-09cd-11ee-962d-dac502259ad0.png

6a00312a-09cd-11ee-962d-dac502259ad0.png

6a36bfb0-09cd-11ee-962d-dac502259ad0.png

GPIOA_AFRH.AFSEL8[3:0] 配置為 0x0,上電默認(rèn)已經(jīng)為 0 了,不用修改,如果不 是,請(qǐng)手動(dòng)修改為 0。

6a6d285c-09cd-11ee-962d-dac502259ad0.png

6a8ebbc0-09cd-11ee-962d-dac502259ad0.png

手動(dòng)修改后的 GPIOA 寄存器值為如下圖 18 所示:

6ab9d116-09cd-11ee-962d-dac502259ad0.png

3. 總結(jié)

在調(diào)試軟件時(shí),可以通過(guò) PC 端調(diào)試工具直接修改寄存器配置來(lái)使能某些功能。不過(guò),使用中須注意遵守一定的流程,比如先開(kāi)啟對(duì)應(yīng)的外設(shè) clock,然后才能配置具體的寄存器去實(shí)現(xiàn)一些相應(yīng)的功能。

完整內(nèi)容請(qǐng)點(diǎn)擊“閱讀原文”下載原文檔。

6ad50846-09cd-11ee-962d-dac502259ad0.png

長(zhǎng)按掃碼關(guān)注公眾號(hào)

更多資訊,盡在STM32

點(diǎn)擊“閱讀原文”,可下載原文檔


原文標(biāo)題:應(yīng)用筆記|直接修改寄存器來(lái)輸出內(nèi)部時(shí)鐘的方法

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44976

    瀏覽量

    650202
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11031

    瀏覽量

    364599
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Texas Instruments SN74ACT595/SN74ACT595-Q1 SIPO移位寄存器特性/應(yīng)用/功能圖

    寄存器和移位寄存器提供時(shí)鐘。該移位寄存器具有直接覆蓋清除 (SRCLR\) 輸入、串行 (SER) 輸入,以及進(jìn)行級(jí)聯(lián)的串行
    的頭像 發(fā)表于 07-07 15:27 ?122次閱讀
    Texas Instruments SN74ACT595/SN74ACT595-Q1 SIPO移位<b class='flag-5'>寄存器</b>特性/應(yīng)用/功能圖

    MAX25069怎么通過(guò)I2C修改寄存器?

    我手上有一個(gè)客戶的MAX25069的板子,請(qǐng)問(wèn)下:怎么通過(guò)I2C接口修改寄存器的值?以寄存器0x2(REG_CTRL[7:0])為例。
    發(fā)表于 04-25 07:11

    了解ISL28022的電流和功率計(jì)算應(yīng)用筆記

    本應(yīng)用筆記討論數(shù)字電源監(jiān)控(DPM) ISL28022的內(nèi)部計(jì)算程序。它解釋了數(shù)據(jù)寄存器的位格式,并舉例說(shuō)明了內(nèi)部數(shù)學(xué)處理
    的頭像 發(fā)表于 02-21 11:30 ?569次閱讀
    了解ISL28022的電流和功率計(jì)算應(yīng)<b class='flag-5'>用筆記</b>

    AFE4400的CNTROL0寄存器的SPI_READ位設(shè)置成1才能讀取寄存器的值,讀完了想修改寄存器的值怎么辦?

    AFE4400的CNTROL0寄存器的SPI_READ位設(shè)置成1才能讀取寄存器的值,那讀完了想修改寄存器的值怎么辦呢,這個(gè)時(shí)候是read模式,無(wú)法 改變control0寄存器的值,
    發(fā)表于 01-14 08:09

    ADS1298R為什么無(wú)法寫(xiě)寄存器?

    我這里代碼的功能是:先對(duì)某個(gè)寄存器進(jìn)行寫(xiě)操作,在然后讀該寄存器的值,然后去判斷是否修改寄存器成功。 現(xiàn)在遇到的問(wèn)題是:對(duì)某個(gè)寄存器進(jìn)行寫(xiě)操作過(guò)后,在讀該
    發(fā)表于 01-14 07:33

    ADS131E08為什么不能修改寄存器?

    各位有沒(méi)有用過(guò)ADS131E08,為什么不能修改寄存器,01h CONFIG1 ,03h CONFIG3,修改之后就停止工作了。下面是讀出的各個(gè)寄存器的值 0x01: 0x93 0x02
    發(fā)表于 01-03 08:08

    AFE4404沒(méi)有接外部時(shí)鐘,4404寄存器的為初始值,能夠通過(guò)IIC修改寄存器值嗎?

    1、首先AFE4404寄存器默認(rèn)使用外部時(shí)鐘,CLK引腳是否必須要先接一個(gè)時(shí)鐘,通過(guò)修改寄存器的值改為內(nèi)部
    發(fā)表于 12-06 06:35

    stm32 SPI接口為什么無(wú)法修改寄存器?如何解決?

    ADS131M04,現(xiàn)在碰到現(xiàn)象是SPI讀到的寄存器數(shù)據(jù)均為正常默認(rèn)值,寫(xiě)進(jìn)入待機(jī)模式命令回復(fù)的數(shù)據(jù)是0X0022,也是正確的,修改CLOCK寄存器后立即讀回來(lái)參數(shù)也是正確的,但是再讀一次還是默認(rèn)值,實(shí)際上并沒(méi)有
    發(fā)表于 11-27 07:18

    通用寄存器是什么意思

    在計(jì)算機(jī)體系結(jié)構(gòu)中,通用寄存器是中央處理(CPU)內(nèi)部最為核心和基礎(chǔ)的組成部分之一。它們被設(shè)計(jì)為能夠存儲(chǔ)和傳輸各種類型的數(shù)據(jù)和指令,是CPU進(jìn)行數(shù)據(jù)處理和運(yùn)算的關(guān)鍵工具。通用寄存器
    的頭像 發(fā)表于 09-05 14:13 ?2311次閱讀

    寄存器的類型和作用

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一種高速存儲(chǔ)單元,它位于CPU內(nèi)部,與CPU的運(yùn)算單元和邏輯控制單元緊密相連。寄存器的主要作用是暫時(shí)存儲(chǔ)指令、操作數(shù)和地址等臨時(shí)數(shù)據(jù),以便CPU快速訪問(wèn)和處理。由于
    的頭像 發(fā)表于 09-05 14:11 ?4752次閱讀

    寄存器的輸入輸出方式

    寄存器的輸入輸出方式是數(shù)字電路設(shè)計(jì)中至關(guān)重要的部分,它決定了數(shù)據(jù)如何在寄存器中進(jìn)出以及處理的效率。下面將詳細(xì)探討寄存器的幾種主要輸入輸出方式
    的頭像 發(fā)表于 09-05 14:09 ?2624次閱讀

    寄存器故障分析

    寄存器故障分析是計(jì)算機(jī)硬件維護(hù)與系統(tǒng)穩(wěn)定性保障中的重要環(huán)節(jié)。寄存器作為計(jì)算機(jī)中的關(guān)鍵組成部分,負(fù)責(zé)存儲(chǔ)和傳輸數(shù)據(jù),其穩(wěn)定性和可靠性直接影響到整個(gè)計(jì)算機(jī)系統(tǒng)的性能。以下是對(duì)寄存器故障的全
    的頭像 發(fā)表于 08-29 11:26 ?2164次閱讀

    寄存器是什么意思?寄存器是如何構(gòu)成的?

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一個(gè)高速存儲(chǔ)單元,它位于中央處理(CPU)內(nèi)部,用于存儲(chǔ)計(jì)算機(jī)程序執(zhí)行過(guò)程中所需要的數(shù)據(jù)、指令地址或狀態(tài)信息。寄存器是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)
    的頭像 發(fā)表于 08-02 18:23 ?7458次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構(gòu)成的?

    使用PGA309配置寄存器時(shí)遇到的疑問(wèn)求解

    任何可修改寄存器,我成功配置了寄存器1、2,但3、4寄存器卻沒(méi)有成功寫(xiě)入,vout沒(méi)有變化。想問(wèn)您,在沒(méi)有外接EEPROM的情況下,可以修改寄存器
    發(fā)表于 08-02 07:38

    請(qǐng)問(wèn)PGA308如何修改寄存器?

    如何單獨(dú)修改PGA308的某一個(gè)寄存器值,我從新操作的時(shí)候發(fā)現(xiàn)鼠標(biāo)無(wú)法點(diǎn)擊并且編輯修改CFG2寄存器,嘗試并點(diǎn)擊紅圈內(nèi)的窗口但是并不能編輯,請(qǐng)教一下如何
    發(fā)表于 08-02 07:35