国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從STM32F407到AT32F407(一)

這篇具有很好參考價值的文章主要介紹了從STM32F407到AT32F407(一)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

雅特力公司的MCU有著性能超群,價格優(yōu)越的巨大優(yōu)勢,缺點是相關(guān)資料少一些,我們可以充分利用ST的現(xiàn)有資源來開發(fā)它。

我用雅特力的STM32F437開發(fā)板,使用原子?stm32f407的開發(fā)板自帶程序,測試串口程序,原設(shè)定串口波特率為115200,但是輸出亂碼,波特率改成230400,串口輸出正常。

? ? ? ? ? ? 于是決心修改一下,時鐘配置。主要參考《STM32f4xx中文參考手冊.PDF》和RM_AT32F435-F437_CH_V2.03.pdf 。

主要問題出現(xiàn)在RCC PLL配置寄存器(RCC_PLLCFGR)

STM32F4XX的RCC PLL配置寄存器

從STM32F407到AT32F407(一)

?從STM32F407到AT32F407(一)

?AT32F407RCC PLL配置寄存器從STM32F407到AT32F407(一)

?

可以看到? ? PLL_P? ? 只能是4/8/16/32

#define PLL_P ? ? ?4 //定義為4

看到了他們的配置不同,下面開始修改代碼

(1)修改SystemInit()函數(shù)。

void SystemInit(void)
{
  /* FPU settings ------------------------------------------------------------*/
  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
  #endif
  /* Reset the RCC clock configuration to the default reset state ------------*/
  /* Set HSION bit */
  RCC->CR |= (uint32_t)0x00000001;

  /* Reset CFGR register */
  RCC->CFGR = 0x00000000;

  /* Reset HSEON, CSSON and PLLON bits */
  RCC->CR &= (uint32_t)0xFEF6FFFF;

  /* Reset PLLCFGR register */
	//RCC->PLLCFGR = 0x24003010;
  RCC->PLLCFGR = 0x00033002;//AT32F437

  /* Reset HSEBYP bit */
  RCC->CR &= (uint32_t)0xFFFBFFFF;

  /* Disable all interrupts */
  RCC->CIR = 0x00000000;

#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)
  SystemInit_ExtMemCtl(); 
#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */
         
  /* Configure the System clock source, PLL Multiplier and Divider factors, 
     AHB/APBx prescalers and Flash settings ----------------------------------*/
  SetSysClock();

  /* Configure the Vector Table location add offset address ------------------*/
#ifdef VECT_TAB_SRAM
  SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
#else
  SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
#endif
}

修改配置寄存器初始值,防止硬件錯誤。

2.修改SetSysClock()中的配置代碼

//stm32f407  原代碼 
/* Configure the main PLL */
    RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) |
                   (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24);

   
//修改成如下代碼
 /* Configure the main PLL */
    RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 2) +1) << 16) |
                   (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24);

3.修改? RCC_GetClocksFreq()和void SystemCoreClockUpdate(void)函數(shù)



將原代碼:
pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) +1 ) *2;
改成如下代碼
pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) -1 )* 4;

4. 修改延時函數(shù),我目前的時鐘是336MHZ

? ?delay_init(336);?? ??? ?//延時初始化?

經(jīng)這樣修改,串口輸出和延時輸出正常工作。

可以看到還有PLLQ 是不一樣的,抽空處理一下,請大家期待下期!文章來源地址http://www.zghlxwxcb.cn/news/detail-432037.html

到了這里,關(guān)于從STM32F407到AT32F407(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 初識 STM32和STM32F407簡介

    初識 STM32和STM32F407簡介

    2007 年 6 月,ST 在北京發(fā)布了全球第一款基于 ARM Cortex M3 內(nèi)核的 32 位通用微控制 器芯片:STM32F103,以優(yōu)異的性能,豐富的資源,超高的性價比,迅速占領(lǐng)市場,從此一鳴 驚人,一發(fā)不可收拾,截止到 2020 年 6 月,STM32 累計出貨量超過 45 億顆。 戰(zhàn)艦開發(fā)板使用的 STM32F103ZET6

    2023年04月08日
    瀏覽(22)
  • STM32F407的PWM

    STM32F407的PWM

    泉水 STM32 的定時器除了 TIM6 和 7。其他的定時器都可以用來產(chǎn)生 PWM 輸出。 高級定時器 TIM1 和 TIM8 可以同時產(chǎn)生多達 7 路的 PWM 輸出。 通用定時器也能同時產(chǎn)生多達 4路的 PWM 輸出 STM32F407 最多可以同時產(chǎn)生 30 路 PWM 輸出! 這里我們僅利用 TIM14的 CH1 產(chǎn)生一路 PWM 輸出。 如上所

    2024年02月17日
    瀏覽(20)
  • STM32F407 移植 FreeRTOS

    STM32F407 移植 FreeRTOS

    本實驗是基于正點原子 STM32F407ZG 探索者開發(fā)板完成的,所以需要一個STM32F407ZG 探索者開發(fā)板 用于移植的基礎(chǔ)工程(下面會講) FreeRTOS源碼(下面會講) 本實驗所有用到的代碼:基于正點原子STM32F407的FreeRTOS移植工程.zip 1.1 移植前準備 1.1.1 基礎(chǔ)工程 由于后續(xù)需要用到 LED、

    2024年02月08日
    瀏覽(28)
  • STM32F407 --USART使用

    目錄 1. 串口配置--普通模式 2. 實現(xiàn)數(shù)據(jù)的傳輸主函數(shù) 1)單引號雙引號的應用數(shù)組傳輸 2)將調(diào)試信息用串口打印傳送到電腦上 1. 串口配置--普通模式 F407使用的M4內(nèi)核與F103使用的M3內(nèi)核不一樣,導致在使用配置上有區(qū)別。需要在F103配置的基礎(chǔ)上專門將GPIO的PIN配置成復用功能

    2024年02月16日
    瀏覽(26)
  • STM32F407 滴答定時器

    STM32F407 滴答定時器

    介紹STM32F407滴答定時器配置方法、使用方式,封裝延時函數(shù)得到精確的時間。 STM32F407參考手冊中第10章介紹了滴答定時器的校準值。 M4權(quán)威指南介紹滴答定時器的章節(jié),M3權(quán)威指南中與M4權(quán)威指南中的介紹一樣。 在sys.c文件中增加滴答定時器的代碼 在delay.c文件增加以下代碼

    2024年02月11日
    瀏覽(30)
  • STM32F407添加DSP庫

    STM32F407添加DSP庫

    編譯程序出現(xiàn)以下報錯 出現(xiàn) “error: #5: cannot open source input file “arm_const_structs.h”: No such file or directory” 錯誤的原因是編譯器無法找到名為 “arm_const_structs.h” 的頭文件。 頭文件路徑錯誤 頭文件未安裝或丟失 編譯器配置問題 添加DSP庫 添加DSP庫可以參考這篇博客: STM32CubeMX關(guān)

    2024年02月05日
    瀏覽(34)
  • 基于STM32F407的智能門鎖

    基于STM32F407的智能門鎖

    ????????在消費升級滲透在各個領(lǐng)域的今天,國民消費發(fā)生著巨大的變化,與每個人息息相關(guān)的家居行業(yè)也是如此?,F(xiàn)今,越來越多的智能家居產(chǎn)品出現(xiàn)在普通老百姓的生活中,智能照明、智能窗簾、智能掃地機器人等各種智能產(chǎn)品都給人們的生活帶來了極大的便利。智能

    2024年02月11日
    瀏覽(21)
  • STM32F407 電機編碼器測量

    STM32F407 電機編碼器測量

    STM32的定時器功能非常強大,根據(jù)官方手冊,定時器的功能如下 高級定時器 TIM1 和 TIM8 主要特性 TIM1 和 TIM8 定時器具有以下特性: ● 16 位遞增、遞減、遞增/遞減自動重載計數(shù)器。 ● 16 位可編程預分頻器,用于對計數(shù)器時鐘頻率進行分頻(即運行時修改),分頻系數(shù) 介于

    2023年04月08日
    瀏覽(65)
  • STM32F407移植OpenHarmony筆記1

    參考文檔: OpenAtom OpenHarmony width=device-width,initial-scale=1.0 https://docs.openharmony.cn/pages/v3.2/zh-cn/device-dev/get-code/gettools-acquire.md/ 搭建環(huán)境 安裝linux系統(tǒng): Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-91-generic x86_64) 下載源代碼:我選擇的是V3.2.4版本 https://repo.huaweicloud.com/openharmony/os/3.2.4/code-v3.2.4-Rele

    2024年01月25日
    瀏覽(24)
  • STM32F407串口IAP遠程升級程序

    STM32F407串口IAP遠程升級程序

    相關(guān)代碼和工程文件鏈接:https://pan.baidu.com/s/1wN4THWJwqzjjIe7e2TENBA?pwd=o86o 提取碼:o86o ????????STM32代碼燒錄主要有三種:ICP、ISP、IAP。 ????????ICP(In Circuit Programing),在電路編程,通過JTAG或者SWD接口進行程序的燒錄,就是平時利用ST-Link或者J-Link燒錄程序; ??????

    2024年02月10日
    瀏覽(59)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包