<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

MM32F0010使用總結

jf_pJlTbmA9 ? 來源:靈動MM32MCU ? 作者:靈動MM32MCU ? 2023-11-01 17:07 ? 次閱讀

案例一

工程師提到:MM32F0010 的 PA13 和 PA14 引腳能否設置成GPIO?如何設置?

分析原因

PA13PA14 默認是 SWD 功能,并且可以設置成通用 GPIO 或其他復用功能,需要將 PA13PA14 的 SWD 功能進行 disable 才可以實現 GPIO 功能。

解決辦法

設置方式:

void SWDasGPIO_Init(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure;

    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);

    GPIO_PinAFConfig(GPIOA,GPIO_PinSource14,GPIO_AF_4);   
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource13,GPIO_AF_4);

    GPIO_StructInit( GPIO_InitStructure);
    GPIO_InitStructure.GPIO_Pin  =  GPIO_Pin_14|GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOA,  GPIO_InitStructure);
}

案例二

有工程師提到:SWD 復用成 GPIO 后如何恢復 SWD 功能并進行二次下載?

分析原因

PA13PA14被設置成 GPIO 或者其他復用功能后,如果需要再次通過 SWD 接口連接目標 MCU,需要做如下動作:

因為 PA14 被設置成 GPIO 或者其他復用功能后, 該 I/O 不再是 SWCLK 功能,但只要進入 RESET(內部軟件復位,IWDG 復位,Standby 喚醒,初始上電等過程)會短時間還會把該 IO 切換為 SWCLK 功能,直到執行 Main Flash 中的把該 Pin(nRST/PA14/SWCLK)功能配置為 GPIO 或 UART1_TXD 后,SWD 接口才會 Disable;

解決辦法 1

可通過 SWD 接口的 PA14和 PA13 輸入 Boot Switch 時序,切換到 ISP Boot,擦除目標 MCU 中 Main Flash 空間的程序,可以參考官網AN:《AN0010_MM32F0010_PIN_AF_Mode_Setting_SC》。

資料鏈接:https://www.mindmotion.com.cn/products/mm32mcu/mm32f/mm32f_value_line/mm32f0010/

本次以 MM32-LINK 為例,新建 MM32F0010 的工程后需要設置芯片鎖定解鎖狀態,設置功能如下:

a) 當編程對象為 MM32F0010 系列芯片鎖定時的解鎖狀態設定

b) 單擊鼠標左鍵彈出對話框如右圖,設置解鎖重復次數和上電延時時間

c) 點擊按鍵[OK]按鍵后狀態欄顯示“Unlock”

d) 當目標對象被解鎖時, 狀態欄顯示“Normal”

wKgZomUD6syAROikAAZg4cM08os856.png

單擊狀態欄的“Normal”在彈出的對話框中單擊OK,狀態欄從 Unlock 跳變到Normal 聽到滴兩聲,同時狀態欄內核識別指示燈亮黃燈,說明解鎖成功,最后單擊 Erase Chip 聽到滴一聲解鎖完成,同時狀態欄顯示芯片擦除成功,內核指示燈跳變成綠燈。

如果解鎖不成功,斷開仿真器與目標板連接的燒錄線,單擊 Normal,在彈出的對話框中 Repeat 設置成500(該值依據具體情況可靈活修改),然后單擊 OK,仿真器再與目標板連接并自動解鎖,狀態欄從Unlock跳變到 Normal 聽到滴兩聲,同時狀態欄內核識別指示燈亮黃燈,說明解鎖成功,最后單擊 Erase Chip 聽到滴一聲解鎖完成,同時狀態欄顯示芯片擦除成功,內核指示燈跳變成綠燈。

解決辦法 2

如果程序中進入 main()程序后,需要將 PA13 和 PA14 設置成 GPIO 功能時,可以預置較長時間的延時等待(在調試過程設置延時>10s,量產階段屏蔽延時),可通過重新上電 MCU,立刻執行 Erase Chip 功能,擦除目標 MCU 中 Main Flash 空間的程序;

案例三

有工程師提到:使用 MM32-LINK 對 MM32F0010 下載,提示下載失???該如何設置?

分析原因

MM32-LINK 會通過 Vref 引腳檢查 MCU 的供電電壓,若Vref引腳未連接到主電源上,MM32-LINK 會認為目標 MCU 未供電且在下載時彈出相應的錯誤提示。

解決辦法

硬件接線如下所示:

wKgaomUD6s2AO6_2AAHTOve8Rec806.png

若 MM32F0010 未獨立供電,Keil 中需要配置 MM32-LINK 電源輸出,并且取消 Reset 的設置。

wKgZomUD6s6AciVrAAJEG9vaSpU085.png

案例四

有工程師提到:MM32F0010 的 ADC 多通道采樣存在串擾是什么原因?

分析原因

MM32F0010 有 1 個 12 位模數轉換器,1uS 轉換時間(多達 8 個輸入通道),支持單次模式、單周期模式和連續模式,多通道采樣需要使用單周期或者連續模式。當 ADC 的采樣電容在兩個通道之間進行切換時等效電路如下所示:

wKgaomUD6tCAGKNtAAAlMvFdssQ493.png

兩路信號源 A 和 B 的電平分別為Ua和Ub,其內阻分別是 Ra 和 Rb,其中,Cs 是 ADC 的采樣電容,Rs 是 ADC 的采樣電阻,MM32F0010 的內部采樣電容 Cs 為 10pF。

為了簡化問題,假定兩路信號的掃描次序是由信號源 B 到信號源 A,且信號源 B 接入的時間足夠長,以至在通道切換時采樣電容 Cs 上的電壓可以近似的等于 Ub ,于是,在通道切換到信號源 A 后,采樣電容 Cs 上的電壓將會隨著時間進行充放電的動作,隨著采樣保持時間t 的增長,采樣電容 Cs 上的電壓逐漸趨近于 Ua ,而其與 Ua 之間的誤差 ?U 即是信號源 B 通過采樣電容 Cs 對信號源 A 的藕合值,且隨著采樣保持時間t的增長,該值逐漸減小,最終趨近于零。

解決辦法

在實際 ADC 轉換中,由于 ?U 的值的誤差最終會反饋在 ADC 最終的轉換結果中,所以有的用戶反饋轉換結果比實際結果存在偏差。我們在應用中避免該問題,需要 ?U 的值趨近于 0 才符合實際的要求。

有種方法可以減小 ?U 的取值:

1. 通過增加采樣保持時間 t,使 ?U 獲得更多的衰減時間;

2. 通過減小信號源的內阻 Ra,使 ?U 具有更快的衰減速率;

在實際運用時,在增加采樣保持時間方面可以通過修改 ADC 的設置參數來實現(通過調整 ADC 采樣率和 ADC 的采樣周期),而在降低信號源內阻方面可以通過在信號源與 ADC 之間加入跟隨器進行隔離來實現。

案例五

有工程師提到:MM32F0010 功耗水平是多少?如何降低整機功耗?

分析原因

芯片有三種低功耗模式:

睡眠模式 (CPU 停止,所有外設包括 CPU 的外設,如 NVIC、系統時鐘 (SysTick) 等仍在運行)

停機模式 (所有的時鐘都已停止,寄存器和 SRAM 的內容依然保存)

待機模式 (內核電源關閉,寄存器和 SRAM 的內容全部丟失)

低功耗一覽表:

wKgZomUD6tGACo9kAAIlm0PjKp0451.png

低功耗模式供應電流:

wKgaomUD6tOAMyKaAACJX2YBINw134.png

解決辦法

在系統或電源復位以后,微控制器處于運行狀態。當 CPU 不需繼續運行時,可以利用多種低功耗模式來節省功耗,例如等待某個外部事件時。用戶需要根據最低電源消耗、最快速啟動時間和可用的喚醒源等條件,選定一個最佳的低功耗模式。

在運行模式下,可以通過以下方式中的一種降低功耗:

● 降低系統時鐘頻率

● 關閉 APB 和 AHB 總線上未被使用的外設時鐘

案例六

有工程師提到:MM32F0010 進入 STOP 模式后無法通過串口喚醒 ?

分析原因

MM32F0010 沒有 LPUART,進入 STOP 模式后不能直接通過 UART 直接喚醒,只能通過 EXTI 外部中斷方式喚醒。

解決辦法

我們可以在 MCU 進入 STOP 前將 RX 腳設為 EXTI 模式,并使能對應的中斷來實現。

案例七

有工程師提到:MM32F0010 進入低功耗之后,實際功耗遠大于理想功耗,是什么原因?

分析原因

MCU 在進入 STOP 模式的時候,GPIO 的狀態都是保持在進入低功耗模式之前的狀態。當連接到外設后,外設的電平狀態和所連接的 GPIO 不一致的時候,就會產生電流消耗,這個就是很多用戶實際測試過程中發現功耗大于手冊中的功耗。

解決辦法

1、進入低功耗之前,對使用和未使用IO狀態進行調整,比如有外部上拉,可配置成模擬輸入等。

2、關閉外設時鐘,例如 ADC、UART 等外設時鐘進行關閉。

案例八

有工程師提到:通過按鍵喚醒 MM32F0010,串口不能正常工作?

分析原因

經分析發現,開發者進入的低功耗模式為停機模式,喚醒之后,未初始化串口外設,導致串口不能正常工作。

解決辦法

喚醒 MM32F0010 之后,重新初始化串口(以及所有使用的)外設。

案例九

有工程師提到:進入低功耗后無法使用調試器二次下載是什么原因?

分析原因

由于進入低功耗后會關閉 SWD 的電源域,所以無法二次下載。

解決辦法

● 在程序中需要設置正確的喚醒源,對 MCU 喚醒后才能進行下載。

● 可以參考問題2中的解決辦法對 MCU 內部的程序進行擦除。

來源:靈動MM32MCU

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

    關注

    447

    文章

    47788

    瀏覽量

    409112
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16016

    瀏覽量

    343598
  • GPIO
    +關注

    關注

    16

    文章

    1133

    瀏覽量

    50570
  • SWD
    SWD
    +關注

    關注

    1

    文章

    54

    瀏覽量

    11669
收藏 人收藏

    評論

    相關推薦

    靈動微全新MM32F0010資料分享

    靈動微全新MM32F0010資料
    發表于 12-15 06:55

    MM32F0010在性能/功耗和外設配置方面的特點有哪些?

    MM32F0010在性能、功耗和外設配置方面具有顯著的特點
    發表于 12-21 06:24

    MM32F0010 該用什么demo板開放呢

    我想用 MM32F0010開放無線充方面的產品,請問用什么型號的demo板呢?
    發表于 09-07 18:27

    MM32F0010 該用什么demo板開放呢

    我想用 MM32F0010開放無線充方面的產品,請問用什么型號的demo板呢?
    發表于 03-30 13:43

    靈動微的新產品MM32F0010是替代8位MCU的最佳方案

    MM32F0010概述 靈動微電子新產品MM32F0010使用內核M0的高性能32位微控制器,工作頻率最高可達48MHz,內置高速存儲器,豐富的增強型I/O端口和外設連接到外部總線
    發表于 09-23 16:08 ?6499次閱讀

    MM32F0010 產品手冊(中文版)

    MM32F0010 產品手冊(中文版)
    發表于 02-22 18:23 ?0次下載
    <b class='flag-5'>MM32F0010</b> 產品手冊(中文版)

    MM32F0010 產品手冊(英文版)

    MM32F0010 產品手冊(英文版)
    發表于 02-22 18:26 ?0次下載
    <b class='flag-5'>MM32F0010</b> 產品手冊(英文版)

    MM32F0010 用戶手冊(中文版)

    MM32F0010 用戶手冊(中文版)
    發表于 02-22 18:27 ?0次下載
    <b class='flag-5'>MM32F0010</b> 用戶手冊(中文版)

    MM32F0010 用戶手冊(英文版)

    MM32F0010 用戶手冊(英文版)
    發表于 02-22 18:28 ?0次下載
    <b class='flag-5'>MM32F0010</b> 用戶手冊(英文版)

    MM32F0010 勘誤表(中文版)

    MM32F0010 勘誤表(中文版)
    發表于 02-22 18:28 ?0次下載
    <b class='flag-5'>MM32F0010</b> 勘誤表(中文版)

    MM32F0010 勘誤表(英文版)

    MM32F0010 勘誤表(英文版)
    發表于 02-22 18:29 ?0次下載
    <b class='flag-5'>MM32F0010</b> 勘誤表(英文版)

    AN6417 基于MM32F0010的霍爾高壓單相冰箱散熱風扇方案(中文版)

    AN6417 基于MM32F0010的霍爾高壓單相冰箱散熱風扇方案(中文版)
    發表于 02-22 18:29 ?0次下載
    AN6417 基于<b class='flag-5'>MM32F0010</b>的霍爾高壓單相冰箱散熱風扇方案(中文版)

    AN0010 MM32F0010 PA13_PA14引腳的復用與使用(中文版)

    AN0010 MM32F0010 PA13_PA14引腳的復用與使用(中文版)
    發表于 02-22 18:31 ?0次下載
    AN<b class='flag-5'>0010</b> <b class='flag-5'>MM32F0010</b> PA13_PA14引腳的復用與使用(中文版)

    AN0061 從MM32F0010移植到MM32F0020(中文版)

    AN0061 從MM32F0010移植到MM32F0020(中文版)
    發表于 02-22 18:33 ?0次下載
    AN0061 從<b class='flag-5'>MM32F0010</b>移植到<b class='flag-5'>MM</b>32F0020(中文版)

    AN0061 從MM32F0010移植到MM32F0020(英文版)

    AN0061 從MM32F0010移植到MM32F0020(英文版)
    發表于 02-22 18:34 ?0次下載
    AN0061 從<b class='flag-5'>MM32F0010</b>移植到<b class='flag-5'>MM</b>32F0020(英文版)
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>