在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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建立的模板編譯會報錯。。

按照模板新建工程,默認使用內部時鐘,編譯,正常,串口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)

編譯正常,調試發現輸出不正常,亂碼。

分析應該是時鐘配置不正確,先檢查系統時鐘,發現不是設定的系統時鐘,通過調試發現還需要修改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,重新編譯調試,串口1正常輸出。

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

    關注

    0

    文章

    93

    瀏覽量

    27098
  • 串口輸出
    +關注

    關注

    0

    文章

    16

    瀏覽量

    7535
  • STM32F407
    +關注

    關注

    15

    文章

    188

    瀏覽量

    29674
  • RT-Thread
    +關注

    關注

    31

    文章

    1306

    瀏覽量

    40420
收藏 人收藏

    評論

    相關推薦

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

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

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

    RT-Thread Studio學習之使用外部時鐘系統簡介新建RT-Thread項目使用外部時鐘簡介本文將基于STM32F407VET芯片介
    發表于 01-20 07:51

    RT-Thread Studio怎么配置STM32F407的TCPSERVER服務呢?

    RT-Thread Studio怎么配置STM32F407的TCPSERVER服務?
    發表于 12-29 14:53

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

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

    RS485驅動包的使用

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

    rt-thread studio新建stm32f407工程

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

    RT-Thread中Lan8720和lwip協議棧的使用

    。 修改工程使用外部晶振,可參考第一篇文章rt-thread studio新建stm32f407工程
    發表于 02-13 14:55

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

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

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

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

    RT-Thread使用cjson軟件包發送64位長整型數據

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

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

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

    RT-Thread在Lan8720a和 lwip基礎上移植ntp流程

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

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

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

    RT-Thread中Lan8720和lwip協議棧的使用

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

    RS485驅動包的使用

    開發環境:野火的stm32f407rt-thread studio版本是版本: 2.2.6,stm32f4的資源包為0.2.2。工程使用上
    的頭像 發表于 10-13 10:33 ?845次閱讀
    RS485驅動包的使用
    主站蜘蛛池模板: 国模私拍视频在线 | 五月四房婷婷 | 在线天堂中文在线网 | 色视频在线看 | 国产精品一区牛牛影视 | 日本三级人妇 | 在线高清国产 | 在线观看黄日本高清视频 | 欧美午夜性刺激在线观看免费 | 老师下面好紧 | 亚洲乱码一区二区三区在线观看 | 俄罗斯毛片基地 | 天堂资源在线8 | 美女用手扒开尿口给男生桶爽 | 六月婷婷导航福利在线 | 天天夜夜骑 | 亚洲成人高清在线 | 日韩免费毛片全部不收费 | 特黄a大片免费视频 | 亚洲色图综合图片 | 绝色村妇的泛滥春情 | 一区二区三区免费精品视频 | 免费看a| 久久久久国产精品免费免费 | 一级毛片aa | 国产精品女人在线观看 | 日本高清一本视频 | 日本人六九视频69jzz免费 | 丁香花免费观看视频 | 伊人精品久久久大香线蕉99 | 亚洲 欧美 自拍 卡通 综合 | 在线观看免费视频国产 | 午夜.dj高清在线观看免费8 | 加勒比一木道|视频在线看 加勒比在线免费视频 | 综合视频网 | 日本一本视频 | 欧美精品久久天天躁 | 色视频一区二区三区 | 亚洲精品欧洲久久婷婷99 | 美女扒开尿口给男的桶个爽 | 欧美一级特黄aa大片 |