亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

目錄預(yù)覽

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

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

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

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

2.具體實現(xiàn)

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

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

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

GPIOA_MODER.MODE8[1:0] 在寄存器窗口中手動修改為 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] 在寄存器窗口中手動配置為 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 了,不用修改,如果不 是,請手動修改為 0。

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

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

手動修改后的 GPIOA 寄存器值為如下圖 18 所示:

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

3. 總結(jié)

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

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

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

長按掃碼關(guān)注公眾號

更多資訊,盡在STM32

點擊“閱讀原文”,可下載原文檔


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

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


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

    關(guān)注

    6072

    文章

    45281

    瀏覽量

    661848
  • STM32
    +關(guān)注

    關(guān)注

    2302

    文章

    11111

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    ?SN74LVC595A 8位移位寄存器技術(shù)文檔總結(jié)

    SN74LVC595A器件包含一個8位串行輸入、并聯(lián)輸出移位寄存器,該寄存器為8位D型存儲寄存器供電。存儲寄存器具有并行的 3 態(tài)
    的頭像 發(fā)表于 09-28 15:09 ?1041次閱讀
    ?SN74LVC595A 8位移位<b class='flag-5'>寄存器</b>技術(shù)文檔總結(jié)

    ?SN74HCT595 8位移位寄存器技術(shù)解析與應(yīng)用指南

    移位寄存器和存儲寄存器提供時鐘。移位寄存器具有一個直接覆蓋清零 (SRCLR) 輸入以及用于級聯(lián)結(jié)構(gòu)的串行 (SER) 輸入和串行
    的頭像 發(fā)表于 09-19 14:31 ?457次閱讀
    ?SN74HCT595 8位移位<b class='flag-5'>寄存器</b>技術(shù)解析與應(yīng)用指南

    ?TPIC6B595 8位功率移位寄存器技術(shù)文檔總結(jié)

    或高壓負(fù)載。 該器件包含一個 8 位串行輸入、并行輸出移位寄存器,該寄存器為 8 位 D 型存儲寄存器供電。數(shù)據(jù)分別通過移位寄存器
    的頭像 發(fā)表于 09-09 10:16 ?653次閱讀
    ?TPIC6B595 8位功率移位<b class='flag-5'>寄存器</b>技術(shù)文檔總結(jié)

    請問如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?

    如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?
    發(fā)表于 08-28 07:57

    如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?

    如何通過 PinView 和 lua 腳本檢查和修改寄存器狀態(tài)?
    發(fā)表于 08-25 06:59

    Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位寄存器特性/應(yīng)用/框圖

    器件輸出(QA至QH)。為移位寄存器和存儲寄存器提供單獨的時鐘(SRCLK和RCLK)和直接覆蓋清除(SRCLR和RCLR)輸入,允許數(shù)據(jù)單
    的頭像 發(fā)表于 08-03 10:56 ?734次閱讀
    Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位<b class='flag-5'>寄存器</b>特性/應(yīng)用/框圖

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

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

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

    具有并行開漏輸出。分別為存儲寄存器和移位寄存器提供時鐘。移位寄存器具有串行(SER)輸入、直接
    的頭像 發(fā)表于 07-05 15:47 ?617次閱讀
    Texas Instruments SN74AC596/SN74AC596-Q1 SIPO移位<b class='flag-5'>寄存器</b>特性/應(yīng)用/框圖

    MAX25069怎么通過I2C修改寄存器

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

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

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

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

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

    ADS1298R為什么無法寫寄存器?

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

    ADS131E08為什么不能修改寄存器

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

    AFE4404沒有接外部時鐘,4404寄存器的為初始值,能夠通過IIC修改寄存器值嗎?

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

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

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