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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13562|回復(fù): 0
收起左側(cè)

stm32f10x_conf.h錯誤解決辦法

[復(fù)制鏈接]
ID:99624 發(fā)表于 2015-12-27 05:02 | 顯示全部樓層 |閱讀模式
1.啟動KEIL,創(chuàng)建工程以后,先用創(chuàng)建文件,然;到你的工程文件夾下面,命名為main.c(其他也;然后輸入以下幾行代碼:;#include"stm32f10x.;voidmain(void);}然后點擊Build,會有以下報錯信息:;C:KeilARMIncSTSTM32;這是說stm32f10x.h中要求工程在預(yù)編譯時;解決辦法:請點


1. 啟動KEIL,創(chuàng)建工程以后,先用創(chuàng)建文件,然后什么也不干,直接點擊保存,保存
到你的工程文件夾下面,命名為main.c(其他也可以,命名為main.c是為了方便你同其他的C文件快速區(qū)分開來)。
然后輸入以下幾行代碼:
#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中要求工程在預(yù)編譯時通過一個字符串,來識別所用的芯片F(xiàn)LASH大小,然后確定頭文件中哪些語句有效。ST把STM32按FLASH大小尺寸來歸類的,具體在STM32參考手冊里面有。
解決辦法:請點擊
中的
打開的界面中選到選項,然后Define里面輸入STM32F10X_MD(因為這個實驗板上用的STM32F103C8T6對應(yīng)這個“中等容量的FLASH”,換做其他芯片不一定是這個字符串),如圖:
然后點擊OK。 再,然后會出第二個錯誤:
C:KeilARMIncSTSTM32F10xstm32f10x.h(8297): error: #5:cannot open source input file "stm32f10x_conf.h": No such file ordirectory
這說明文件包含的路徑?jīng)]有設(shè)置好。
解決辦法: 按上面所述選到選項。然后在
下選擇,再點擊,然后打開目錄找到固件庫里面的
這個文件(最好能把
這個文件夾復(fù)制出來保存到一個純英文路徑的目錄下),然后選擇中里面的inc文件夾,然后再如法炮制選中里面的src文件夾。然后點擊確定。效果如圖:
點擊OK,然后出現(xiàn)下圖,再點OK保存
再點擊OK。然后再Build,你會發(fā)現(xiàn)第二個錯誤已經(jīng)解決了,但是出現(xiàn)了一個新錯誤,這個錯誤我們先不管。
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函數(shù)中調(diào)用:
void main(void)
{
RCC_Config();
while(1)
{
}
}
然后點擊Build,會出現(xiàn)15處錯誤。
之所以會出現(xiàn)如此多錯誤,是因為上面代碼中用到的一些函數(shù)沒有被聲明或者定義過。這些函數(shù)來自于STM32的標準外設(shè)庫函數(shù)(通常稱之為固件庫),在stm32f10x_conf.h這個頭文件中包含了所有外設(shè)的頭文件.h,每個外設(shè)頭文件都有一個對應(yīng)的.c源文件與之對應(yīng)。解決辦法:
右鍵點擊
然后Add Group,重命名文件夾為比如lib_src。再右擊該文件夾,出現(xiàn):
選擇
件夾下的src文件夾,添加以下幾個文件:
,然后打開STM32F10x_StdPeriph_Driver文
然后重新Build以后,還會出現(xiàn)一個錯誤:
.LED.axf: Error: L6218E: Undefined symbol SystemInit (referredfrom startup_stm32f10x_md.o).
出現(xiàn)這個錯誤是因為SystemInit這個符號沒有定義,這個其實是一個函數(shù),定義在system_stm32f10x.c中,但是這個文件卻在Keil的安裝路徑下。


回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久精品视频一区二区三区 | 国产精品一二区 | 欧美日韩综合 | 亚洲精品成人在线 | 亚洲成年人免费网站 | 国产丝袜一区二区三区免费视频 | 国产小视频在线 | 超碰日本| 中文字幕国产视频 | 久久精品国产亚洲 | 亚洲成人99 | 在线免费观看视频黄 | 午夜视频在线观看视频 | 免费一级黄 | 久久久精品一区二区三区四季av | 欧美日韩亚洲二区 | 97人人超碰 | 欧美激情国产日韩精品一区18 | 久久久久国产视频 | 日本成人中文字幕 | 亚洲91| 国产av毛片| 欧美成人精品一区二区男人看 | 国产福利在线播放 | 国产色片在线 | 久草中文网 | 99久久精品免费看国产四区 | 黄色毛片免费看 | 国色天香综合网 | 一区二区视频 | 精品久久久久久亚洲精品 | 国产精品伦一区二区三级视频 | 欧美日本免费 | 久久日韩粉嫩一区二区三区 | 亚洲视频一区二区三区 | 成人午夜免费视频 | 亚洲国产精品久久久久秋霞不卡 | 四虎在线视频 | 黄色大片在线免费观看 | 免费在线观看成人 | 成人久久18免费 |