找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1560|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

STM32F030F4P6使用內(nèi)部晶振,怎么設(shè)置啟動(dòng)代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:302293 發(fā)表于 2023-2-16 17:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
片內(nèi)晶振使用
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:841986 發(fā)表于 2023-2-16 19:11 | 只看該作者
在使用STM32F030F4P6芯片內(nèi)部晶振時(shí),需要在啟動(dòng)代碼中配置芯片的時(shí)鐘。以下是使用STM32CubeIDE生成的默認(rèn)啟動(dòng)代碼中配置內(nèi)部晶振的示例代碼,你可以參考:
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /* Configure the main internal regulator output voltage */
  __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_HSI;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
  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_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
  {
    Error_Handler();
  }

在這段代碼中,首先通過(guò) __HAL_PWR_VOLTAGESCALING_CONFIG() 函數(shù)配置芯片電壓,并初始化 RCC_OscInitTypeDef 和 RCC_ClkInitTypeDef 結(jié)構(gòu)體。然后,通過(guò) RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI 將內(nèi)部高速時(shí)鐘(HSI)作為時(shí)鐘源,通過(guò) RCC_OscInitStruct.HSIState = RCC_HSI_ON 打開(kāi)內(nèi)部高速時(shí)鐘。最后,通過(guò) RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI 將內(nèi)部高速時(shí)鐘作為系統(tǒng)時(shí)鐘源,并將其他時(shí)鐘分頻設(shè)置為1。

注意,在使用內(nèi)部晶振時(shí),需要使能內(nèi)部高速時(shí)鐘(HSI),并將其作為系統(tǒng)時(shí)鐘源。如果需要使用其他時(shí)鐘源,可以根據(jù)需要進(jìn)行修改。同時(shí),根據(jù)實(shí)際情況,需要配置FLASH的讀取等待狀態(tài)(latency)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:883242 發(fā)表于 2023-2-16 19:12 | 只看該作者
在CubeMX里面設(shè)置使用HSI,會(huì)自動(dòng)生成代碼。
回復(fù)

使用道具 舉報(bào)

地板
ID:302293 發(fā)表于 2023-2-17 08:13 | 只看該作者
lzh085 發(fā)表于 2023-2-16 19:11
在使用STM32F030F4P6芯片內(nèi)部晶振時(shí),需要在啟動(dòng)代碼中配置芯片的時(shí)鐘。以下是使用STM32CubeIDE生成的默認(rèn) ...

感謝!我試試,看看行不行
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表