一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

rt-thread studio新建stm32f407工程

冬至子 ? 來源:YZRD ? 作者:YZRD ? 2023-10-12 17:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

rt-thread studio新建stm32f407工程,使用的版本是:2.2.6,stm32f4的支持包版本為0.2.2。先不用0.2.3,因為使用0.2.3建立的模板編譯會報錯。。

按照模板新建工程,默認(rèn)使用內(nèi)部時鐘,編譯,正常,串口1輸出正常。修改為外部晶振,按照要求修改了代碼,如下:

void system_clock_config(int target_freq_mhz)
{
#if false
RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };
/** Configure the main internal regulator output voltage
/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/
* Initializes the CPU, AHB and APB busses clocks
/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = 8;
RCC_OscInitStruct.PLL.PLLN = target_freq_mhz;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 4;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/
* Initializes the CPU, AHB and APB busses clocks
/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
{
Error_Handler();
}
#else
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/
* Configure the main internal regulator output voltage
/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/
* Initializes the RCC Oscillators according to the specified parameters

in the RCC_OscInitTypeDef structure.
/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 25;
RCC_OscInitStruct.PLL.PLLN = 336;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 4;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/
* Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
{
Error_Handler();
}
#endif
}

同時修改了宏定義:

#define BSP_CLOCK_SOURCE ("HSE")
#define BSP_CLOCK_SOURCE_FREQ_MHZ ((int32_t)25)
#define BSP_CLOCK_SYSTEM_FREQ_MHZ ((int32_t)168)

編譯正常,調(diào)試發(fā)現(xiàn)輸出不正常,亂碼。

分析應(yīng)該是時鐘配置不正確,先檢查系統(tǒng)時鐘,發(fā)現(xiàn)不是設(shè)定的系統(tǒng)時鐘,通過調(diào)試發(fā)現(xiàn)還需要修改stm32f407zgt6driversstm32f4xx_hal_conf.h文件中的宏定義:

#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)25000000U) /*!< Value of the External oscillator in Hz /
#endif /
HSE_VALUE */

原先為8M,需要改為實際25M,重新編譯調(diào)試,串口1正常輸出。

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

    關(guān)注

    0

    文章

    95

    瀏覽量

    27600
  • 串口輸出
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    7676
  • STM32F407
    +關(guān)注

    關(guān)注

    15

    文章

    188

    瀏覽量

    30610
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1409

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RT-Thread Studio新建stm32f407-atk-explorer工程運行qemu失敗,是什么原因引起的?

    RT-Thread Studio新建stm32f407-atk-explorer工程運行qemu失敗,是什么原因引起的?該如何修改?
    發(fā)表于 07-16 06:08

    如何使用RT-Thread Studio新建項目

    RT-Thread Studio學(xué)習(xí)之使用外部時鐘系統(tǒng)簡介新建RT-Thread項目使用外部時鐘簡介本文將基于STM32F407VET芯片介
    發(fā)表于 01-20 07:51

    RT-Thread Studio怎么配置STM32F407的TCPSERVER服務(wù)呢?

    RT-Thread Studio怎么配置STM32F407的TCPSERVER服務(wù)?
    發(fā)表于 12-29 14:53

    新建STM32F407工程編譯不通過是何原因?

    stm32f103工程,編譯正常,通過rt-thread studio打開cubemax,不進行任何配置,點擊生成代碼,然后再在rt-thread
    發(fā)表于 01-13 14:18

    RS485驅(qū)動包的使用

    開發(fā)環(huán)境:野火的stm32f407rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2。工程使用上
    發(fā)表于 02-09 14:26

    rt-thread studio新建stm32f407工程

    rt-thread studio新建stm32f407工程,使用的版本是:2.2.6,stm32f
    發(fā)表于 02-10 16:49

    RT-Thread中Lan8720和lwip協(xié)議棧的使用

    ?!⌒薷?b class='flag-5'>工程使用外部晶振,可參考第一篇文章rt-thread studio新建stm32f407工程
    發(fā)表于 02-13 14:55

    RT-Thread STM32 配置系統(tǒng)時鐘(使用外部晶振)

    RT-Thread STM32 配置系統(tǒng)時鐘開發(fā)環(huán)境芯片:STM32F103RCT6RT-Thread Studio: V1.0.6(現(xiàn)在已經(jīng)更新到1.1.3,由于本人使用RTT開發(fā)已
    發(fā)表于 12-14 18:45 ?15次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>STM32</b> 配置系統(tǒng)時鐘(使用外部晶振)

    RT-Thread文檔_正點原子探索者 STM32F407 上手指南

    RT-Thread文檔_正點原子探索者 STM32F407 上手指南
    發(fā)表于 02-22 18:25 ?17次下載
    <b class='flag-5'>RT-Thread</b>文檔_正點原子探索者 <b class='flag-5'>STM32F407</b> 上手指南

    RT-Thread使用cjson軟件包發(fā)送64位長整型數(shù)據(jù)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2,rt-thread
    的頭像 發(fā)表于 10-11 15:09 ?1388次閱讀
    <b class='flag-5'>RT-Thread</b>使用cjson軟件包發(fā)送64位長整型數(shù)據(jù)

    RT-Thread移植使用webserver (lwip+httpd)

    開發(fā)環(huán)境:野火的stm32f407rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2,rt-thread
    的頭像 發(fā)表于 10-12 12:49 ?1842次閱讀
    <b class='flag-5'>RT-Thread</b>移植使用webserver (lwip+httpd)

    RT-Thread在Lan8720a和 lwip基礎(chǔ)上移植ntp流程

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2。以RT-Threa
    的頭像 發(fā)表于 10-12 16:59 ?2584次閱讀
    <b class='flag-5'>RT-Thread</b>在Lan8720a和 lwip基礎(chǔ)上移植ntp流程

    RT-Thread使用Soft RTC(軟件模擬RTC)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,rt-thread 使用版本為4.0.3,stm32f
    的頭像 發(fā)表于 10-12 17:39 ?1145次閱讀
    <b class='flag-5'>RT-Thread</b>使用Soft RTC(軟件模擬RTC)

    RT-Thread中Lan8720和lwip協(xié)議棧的使用

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2,Agile Modbus軟件包版本為v1.1.2。
    的頭像 發(fā)表于 10-13 10:19 ?2433次閱讀
    <b class='flag-5'>RT-Thread</b>中Lan8720和lwip協(xié)議棧的使用

    RS485驅(qū)動包的使用

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2。工程使用上
    的頭像 發(fā)表于 10-13 10:33 ?1103次閱讀
    RS485驅(qū)動包的使用