色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

STM32F103移植到AT32F403A之MDK(二)

創(chuàng)易棧 ? 來(lái)源:創(chuàng)易棧 ? 2023-01-29 15:09 ? 次閱讀

上一篇我們已經(jīng)實(shí)現(xiàn)了不改硬件,只改軟件情況下將STM32F103C8T6替換為AT32F403ACGT7的過(guò)程,但畢竟STM32F103C8T6已經(jīng)是10多年前的東西了,用現(xiàn)在的AT32F403ACGT7替換實(shí)在是大材小用了,畢竟這顆是主頻能到240M的M4。

上篇我們解決了替換能用的問(wèn)題,本篇我們來(lái)結(jié)合AT32F403ACGT7的優(yōu)勢(shì),實(shí)現(xiàn)不改硬件只改BOM降成本的方法。

從接觸MCU開(kāi)始,MCU外圍電路中就缺少不了很重要的器件,那就晶振,晶振是MCU的時(shí)鐘源。隨著技術(shù)的不斷發(fā)展,越來(lái)越多的MCU將晶振集成到了MCU內(nèi)部,但集成到內(nèi)部后真的就能夠省略掉外部晶振嗎,當(dāng)然不是,由于技術(shù)和工藝問(wèn)題,前些年的MCU還無(wú)法完全擺脫外部晶振,而近幾年的MCU才算真正能夠擺脫外部晶振,STM32F103系列和AT32F403A系列正好代表了這兩個(gè)階段的產(chǎn)品。

我們先來(lái)看看STM32F103系列內(nèi)部晶振的參數(shù)

4bd82378-9bce-11ed-bfe3-dac502259ad0.png

蕩器精度大多數(shù)情況下都大于1%,最大時(shí)大于了2%,用在串口應(yīng)用中都覺(jué)得不靠譜,更何況是在USB應(yīng)用當(dāng)中了,所以,官方文檔對(duì)使用內(nèi)部晶振時(shí)做了明確的使用說(shuō)明:

4bf9bb50-9bce-11ed-bfe3-dac502259ad0.png

我們?cè)賮?lái)看看AT32F403A系列的內(nèi)部晶振參數(shù)

4c23d28c-9bce-11ed-bfe3-dac502259ad0.png

4c23d28c-9bce-11ed-bfe3-dac502259ad0.png

在使用RCC_CTRL寄存器校準(zhǔn)情況下,能夠達(dá)到最大值偏差1%的精度,已經(jīng)能夠滿(mǎn)足大多數(shù)的精度要求,RCC_CTRL寄存器校準(zhǔn)是在系統(tǒng)啟動(dòng)后自動(dòng)完成的,不需要人為干預(yù),如果想再提到精度,可以再修改相關(guān)寄存器,以提高到更高的精度。

4c58b236-9bce-11ed-bfe3-dac502259ad0.png

并且在USB應(yīng)用中,為保證內(nèi)部晶振能夠滿(mǎn)足精度要求,還提供了ACC校準(zhǔn)功能,可以提高進(jìn)度到0.25%。

4c856df8-9bce-11ed-bfe3-dac502259ad0.png

4cb13c4e-9bce-11ed-bfe3-dac502259ad0.png

4cb13c4e-9bce-11ed-bfe3-dac502259ad0.png

在這些校準(zhǔn)方式下,AT32F403A系列的內(nèi)部晶振已經(jīng)能都替換掉外部晶振了。另外,在省略掉外部晶振后,還能夠讓芯片多出2個(gè)IO腳,在ST32F103系列中,使用內(nèi)部晶振時(shí)空出的2個(gè)管腳只能做IO用,沒(méi)有中斷功能,而AT32F403A系列則沒(méi)有這個(gè)限制。

4d16d478-9bce-11ed-bfe3-dac502259ad0.png

接下來(lái),本篇內(nèi)容的重點(diǎn)就是在使用ST32F103標(biāo)準(zhǔn)庫(kù)情況下最小的改動(dòng)實(shí)現(xiàn)開(kāi)啟AT32F403A內(nèi)部晶振,讓BOM成本降低,并且增加了性能。在上一篇中我在標(biāo)準(zhǔn)庫(kù)的系統(tǒng)時(shí)鐘初始化函數(shù)void SystemInit (void)內(nèi)添加的開(kāi)啟FPU代碼。

4d401996-9bce-11ed-bfe3-dac502259ad0.png

同樣在這個(gè)函數(shù)內(nèi)還有一行代碼SetSysClock(),它負(fù)責(zé)設(shè)置系統(tǒng)內(nèi)的各條總線(xiàn)時(shí)鐘。STM32這里一般是設(shè)置使用外部晶振,總線(xiàn)時(shí)鐘為72M。

4d607006-9bce-11ed-bfe3-dac502259ad0.png

因?yàn)槲覀円褂脙?nèi)部晶振,所以要將外部晶振相關(guān)的宏定義關(guān)掉,這里我們只需將#define SYSCLK_FREQ_72MHz 72000000關(guān)掉即可。

4d7c037a-9bce-11ed-bfe3-dac502259ad0.png

這樣所有和外部晶振相關(guān)的時(shí)鐘配置都將關(guān)閉,總線(xiàn)時(shí)鐘將被配置為內(nèi)部時(shí)鐘。

4d95772e-9bce-11ed-bfe3-dac502259ad0.png

因?yàn)樵瓉?lái)的程序都是建立在總線(xiàn)時(shí)鐘是72M情況下的,我們需要使用內(nèi)部晶振重新創(chuàng)建各個(gè)總線(xiàn)的時(shí)鐘與原程序的總線(xiàn)時(shí)鐘一致,才能保證系統(tǒng)能夠正常運(yùn)行。

我們?cè)贏T32F402A系列的BSP的system_at32f4xx.c文件內(nèi)找到#define SYSCLK_FREQ_72MHz_HSI 72000000所對(duì)應(yīng)的函數(shù),這個(gè)函數(shù)內(nèi)實(shí)現(xiàn)了再使用內(nèi)部晶振情況下,配置總線(xiàn)為72M的操作(注意,BSP要用1.xx版本的,2.xx版本的庫(kù)風(fēng)格改變了,不再兼容STM32標(biāo)準(zhǔn)庫(kù)風(fēng)格)。

因?yàn)樵瓉?lái)的程序都是建立在總線(xiàn)時(shí)鐘是72M情況下的,我們需要使用內(nèi)部晶振重新創(chuàng)建各個(gè)總線(xiàn)的時(shí)鐘與原程序的總線(xiàn)時(shí)鐘一致,才能保證系統(tǒng)能夠正常運(yùn)行。

我們?cè)贏T32F402A系列的BSP的system_at32f4xx.c文件內(nèi)找到#define SYSCLK_FREQ_72MHz_HSI 72000000所對(duì)應(yīng)的函數(shù),這個(gè)函數(shù)內(nèi)實(shí)現(xiàn)了再使用內(nèi)部晶振情況下,配置總線(xiàn)為72M的操作(注意,BSP要用1.xx版本的,2.xx版本的庫(kù)風(fēng)格改變了,不再兼容STM32標(biāo)準(zhǔn)庫(kù)風(fēng)格)。

4da9695a-9bce-11ed-bfe3-dac502259ad0.png

4dbfe45a-9bce-11ed-bfe3-dac502259ad0.png

4dd902a0-9bce-11ed-bfe3-dac502259ad0.png

將static void SetSysClockTo72MHSI(void)函數(shù),拷貝到現(xiàn)在的代碼中(位置根據(jù)自己習(xí)慣),我放在main函數(shù)這里。

4df80a60-9bce-11ed-bfe3-dac502259ad0.png

4df80a60-9bce-11ed-bfe3-dac502259ad0.png

由于缺少宏定義和寄存器名差異問(wèn)題,會(huì)有很多報(bào)錯(cuò),先不管,先將函數(shù)內(nèi)精簡(jiǎn)一下,只保留我們使用型號(hào)的先關(guān)定義。

4e2cd39e-9bce-11ed-bfe3-dac502259ad0.png

然后我們對(duì)照STM32F103的參考手冊(cè)和AT32F403A的參考手冊(cè)中關(guān)于RCC寄存器的名稱(chēng)定義,用STM32F103的寄存器名和宏定義替換AT32F403A的寄存器名和宏定義,修改后名稱(chēng)后如下:

4e5e5838-9bce-11ed-bfe3-dac502259ad0.png

依然報(bào)錯(cuò)的位置是因?yàn)檫@3個(gè)宏是STM32F103庫(kù)里沒(méi)有定義的,需要我們重新定義一下,我們可以在AT32F403A的BSP庫(kù)里找到,拷貝過(guò)來(lái)就行。

4e82b232-9bce-11ed-bfe3-dac502259ad0.png

接下來(lái)我們將SetSysClockTo72MHSI();添加的main函數(shù)開(kāi)始的位置,也就是實(shí)現(xiàn)了原來(lái)void SystemInit (void)內(nèi)SetSysClock();的工作。

4ea95b4e-9bce-11ed-bfe3-dac502259ad0.png

4ea95b4e-9bce-11ed-bfe3-dac502259ad0.png

重新編譯,沒(méi)有錯(cuò)誤。

4ece4cf6-9bce-11ed-bfe3-dac502259ad0.png

至此,使用AT32F403A內(nèi)部晶振替換原STM32F103外部晶振的配置就完成了,省去了外部晶振和電容,增加了2個(gè)能實(shí)現(xiàn)中斷的管腳,實(shí)現(xiàn)了通過(guò)修改BOM降低層本增加性能的目的。

注意:在這種配置下,多數(shù)外設(shè)模塊是能夠正常工作的,但部分外設(shè)會(huì)有問(wèn)題,我會(huì)再后面的文章中繼續(xù)為大家分享相關(guān)的問(wèn)題。

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

    關(guān)注

    146

    文章

    17750

    瀏覽量

    358706
  • STM32F103
    +關(guān)注

    關(guān)注

    33

    文章

    481

    瀏覽量

    64901
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    210

    瀏覽量

    32445

原文標(biāo)題:STM32F103移植到AT32F403A之MDK(二)

文章出處:【微信號(hào):創(chuàng)易棧,微信公眾號(hào):創(chuàng)易棧】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

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

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)
    發(fā)表于 04-14 14:55 ?1次下載

    STM32F103×8/STM32F103×B MCU手冊(cè)

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購(gòu)信息和機(jī)械器件特性。有關(guān)整個(gè)STMicroelectronics STM32F103xx系列的更多信息,請(qǐng)
    發(fā)表于 03-18 16:37 ?0次下載

    MH32F103A單片機(jī) 低價(jià)替代STM32,硬件完美兼容 主頻可達(dá)216M

    MH32F103A是一款基于高性能32位ARM Cortex-M3內(nèi)核的單片機(jī),工作頻率最高可達(dá)216 MHz,相比STM32F103系列的72 MHz有了顯著提升。內(nèi)置最大512KB Flash
    的頭像 發(fā)表于 02-14 16:14 ?324次閱讀
    MH32<b class='flag-5'>F103A</b>單片機(jī) 低價(jià)替代<b class='flag-5'>STM32</b>,硬件完美兼容 主頻可達(dá)216M

    零死角玩轉(zhuǎn)STM32F103—指南者

    電子發(fā)燒友網(wǎng)站提供《零死角玩轉(zhuǎn)STM32F103—指南者.pdf》資料免費(fèi)下載
    發(fā)表于 01-20 14:18 ?47次下載

    STM32F103x8/STM32F103xB規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《STM32F103x8/STM32F103xB規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 12-06 15:43 ?1次下載

    【GD32 MCU 移植教程】9、從 STM32F10x 系列移植 GD32F30x 系列

    對(duì)比、外設(shè)及性能對(duì)比以及從 STM32F10x 移植 GD32F30x 的移植步驟,旨在讓開(kāi)發(fā)者能夠快速?gòu)?/div>
    的頭像 發(fā)表于 09-07 09:57 ?1547次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】9、從 <b class='flag-5'>STM32F</b>10x 系列<b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32<b class='flag-5'>F</b>30x 系列

    STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC輸出電壓

    概述 本篇文章主要介紹如何使用STM32CubeMX移植雅特力AT32F403AVGT7,并通過(guò)DAC輸出電壓,在芯片中有2個(gè)12位的DAC口可以供選擇。 硬件準(zhǔn)備 首先需要準(zhǔn)備一
    發(fā)表于 09-06 16:40

    【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植 GD32F4xx 系

    、外設(shè)及性能對(duì)比以及從 STM32F4xx 移植 GD32F4xx 的移植步驟,旨在讓開(kāi)發(fā)者能夠快速?gòu)?b class='flag-5'>
    的頭像 發(fā)表于 09-06 09:40 ?2188次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】8、從 <b class='flag-5'>STM32F</b>4xx 系列<b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32<b class='flag-5'>F</b>4xx 系

    STM32F103無(wú)法下載程序的原因?

    STM32F103無(wú)法下載程序
    發(fā)表于 07-09 06:24

    如何使用STM32F103控制LTC2662?

    使用STM32F103控制LTC2662
    發(fā)表于 07-04 07:46

    STM32F103xC,STM32F103xD,STM32F103xE中文資料

    電子發(fā)燒友網(wǎng)站提供《STM32F103xC,STM32F103xD,STM32F103xE中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 06-17 14:12 ?7次下載

    如何使用STM32F103硬件SPI驅(qū)動(dòng)AD5313?

    使用STM32F103硬件SPI驅(qū)動(dòng)AD5313
    發(fā)表于 06-04 07:17

    32位基于ARM核心的帶512K字節(jié)閃存的微控制器STM32F103xC, STM32F103xD, STM32F103xE數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《32位基于ARM核心的帶512K字節(jié)閃存的微控制器STM32F103xC, STM32F103xD, STM32F103xE數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 05-24 14:33 ?0次下載

    STM32F103經(jīng)常丟失EEPROM數(shù)據(jù),為什么?

    STM32F103經(jīng)常丟失EEPROM數(shù)據(jù)
    發(fā)表于 05-23 07:19

    stm32f302和stm32f103的ADC區(qū)別是什么?

    請(qǐng)問(wèn)stm32f302和stm32f103的ADC除了stm32f103有2個(gè)ADC(ADC1和ADC2),stm32f302只有1個(gè)ADC外,在使用ADC+DMA采樣多通道的模擬信號(hào)
    發(fā)表于 05-15 08:03
    主站蜘蛛池模板: 免费国产久久啪久久爱 | 男女牲交全过程免费播放 | 亚洲中文字幕无码一久久区 | 中文字幕一区在线观看视频 | 国语自产精品一区在线视频观看 | 国产大片51精品免费观看 | 无限资源日本2019版免费 | 伊人久久大香线蕉综合99 | 脔到她哭H粗话HWWW男男动漫 | 摸董事长的裤裆恋老小说 | 中文人妻熟妇精品乱又伦 | 99久久国产免费福利 | 男生射女生| 性春院 | 国产亚洲AV无码成人网站 | 国产精品亚洲二线在线播放 | 嫩草电影网嫩草影院 | 久久成人a毛片免费观看网站 | 欧美最猛黑人XXXXWWW | 日本特殊精油按摩 | 伦理片92伦理午夜 | 老子午夜伦不卡电影院 | 久久精品一区二区三区资源网 | 亚洲性夜夜夜色综合网 | 亚洲黄色在线观看 | 亚洲国产高清视频在线观看 | 亚洲一区电影在线观看 | 久久国产成人午夜AV影院无码 | 啦啦啦视频在线观看WWW | 91麻精品国产91久久久久 | 鸭子玩富婆流白浆视频 | 调教椅上的调教SM总裁被调教 | 四虎一级片 | 国产中文欧美日韩在线 | 91久久精品一区二区三区 | 99热精品在线视频观看 | 漂亮的保姆5电影免费观看完整版中文 | 婷婷亚洲五月色综合久久 | 老人洗澡自拍xxx互摸 | 超碰久久国产vs | 中俄两军在日本海等上空战略巡航 |

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品