久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13817|回復: 0
打印 上一主題 下一主題
收起左側

stm32f10x_conf.h錯誤解決辦法

[復制鏈接]
跳轉到指定樓層
樓主
ID:99624 發表于 2015-12-27 05:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1.啟動KEIL,創建工程以后,先用創建文件,然;到你的工程文件夾下面,命名為main.c(其他也;然后輸入以下幾行代碼:;#include"stm32f10x.;voidmain(void);}然后點擊Build,會有以下報錯信息:;C:KeilARMIncSTSTM32;這是說stm32f10x.h中要求工程在預編譯時;解決辦法:請點


1. 啟動KEIL,創建工程以后,先用創建文件,然后什么也不干,直接點擊保存,保存
到你的工程文件夾下面,命名為main.c(其他也可以,命名為main.c是為了方便你同其他的C文件快速區分開來)。
然后輸入以下幾行代碼:
#include "stm32f10x.h"
void main(void)
{
} 然后點擊Build,會有以下報錯信息:
C:KeilARMIncSTSTM32F10xstm32f10x.h(96): error: #35: #errordirective: "Please select first the target STM32F10x device used inyour application (in stm32f10x.h file)"
這是說stm32f10x.h中要求工程在預編譯時通過一個字符串,來識別所用的芯片FLASH大小,然后確定頭文件中哪些語句有效。ST把STM32按FLASH大小尺寸來歸類的,具體在STM32參考手冊里面有。
解決辦法:請點擊
中的
打開的界面中選到選項,然后Define里面輸入STM32F10X_MD(因為這個實驗板上用的STM32F103C8T6對應這個“中等容量的FLASH”,換做其他芯片不一定是這個字符串),如圖:
然后點擊OK。 再,然后會出第二個錯誤:
C:KeilARMIncSTSTM32F10xstm32f10x.h(8297): error: #5:cannot open source input file "stm32f10x_conf.h": No such file ordirectory
這說明文件包含的路徑沒有設置好。
解決辦法: 按上面所述選到選項。然后在
下選擇,再點擊,然后打開目錄找到固件庫里面的
這個文件(最好能把
這個文件夾復制出來保存到一個純英文路徑的目錄下),然后選擇中里面的inc文件夾,然后再如法炮制選中里面的src文件夾。然后點擊確定。效果如圖:
點擊OK,然后出現下圖,再點OK保存
再點擊OK。然后再Build,你會發現第二個錯誤已經解決了,但是出現了一個新錯誤,這個錯誤我們先不管。
2. 我們先添加下面這么一段代碼:
void RCC_Config(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2); /
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); /
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA
|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);
}
先不解釋這上面代碼的意義。在main函數中調用:
void main(void)
{
RCC_Config();
while(1)
{
}
}
然后點擊Build,會出現15處錯誤。
之所以會出現如此多錯誤,是因為上面代碼中用到的一些函數沒有被聲明或者定義過。這些函數來自于STM32的標準外設庫函數(通常稱之為固件庫),在stm32f10x_conf.h這個頭文件中包含了所有外設的頭文件.h,每個外設頭文件都有一個對應的.c源文件與之對應。解決辦法:
右鍵點擊
然后Add Group,重命名文件夾為比如lib_src。再右擊該文件夾,出現:
選擇
件夾下的src文件夾,添加以下幾個文件:
,然后打開STM32F10x_StdPeriph_Driver文
然后重新Build以后,還會出現一個錯誤:
.LED.axf: Error: L6218E: Undefined symbol SystemInit (referredfrom startup_stm32f10x_md.o).
出現這個錯誤是因為SystemInit這個符號沒有定義,這個其實是一個函數,定義在system_stm32f10x.c中,但是這個文件卻在Keil的安裝路徑下。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧洲av一区 | 成人国内精品久久久久一区 | 久久精品无码一区二区三区 | 成年人免费网站 | 91视频在线看 | 男女国产网站 | 草草草影院 | 精品福利av导航 | 国产精品一区久久久 | 久久久视频在线 | 成人午夜免费福利视频 | 91麻豆精品国产91久久久更新资源速度超快 | 亚洲国产精品va在线看黑人 | 免费黄色在线观看 | 超碰在线人 | 精一区二区 | 黄色av网站在线观看 | 欧美日韩在线视频一区 | a级大毛片 | 中文字幕一区二区三区不卡在线 | 欧美极品少妇xxxxⅹ免费视频 | 精品欧美二区 | 成人精品视频 | 国产一区二区三区久久久久久久久 | 久久精品国产一区二区电影 | 久久综合成人精品亚洲另类欧美 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品一区二区电影 | 欧美日韩国产在线观看 | 欧美日韩精品中文字幕 | 日韩精品在线播放 | 在线观看视频亚洲 | 久久精品亚洲 | 一区二区免费 | 日韩欧美在线观看视频 | 精品人伦一区二区三区蜜桃网站 | 久久久久久久久国产成人免费 | 欧美片网站免费 | 国产福利91精品 | 久久精品亚洲精品国产欧美 | 日韩欧美一区二区三区在线播放 |