新聞中心

stm32編譯出問(wèn)題解決

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
.FWlibincstm32f10x_conf.h(33): warning:#14-D: extra text after expected end of preprocessing directive額外的文本在在預(yù)處理命令后面出現(xiàn)

#include "stm32f10x_dma.h" */出問(wèn)題的地方就是這個(gè) “*/

本文引用地址:http://m.butianyuan.cn/article/201611/322420.htm

仿照原子自己建立工程的時(shí)候出現(xiàn)的問(wèn)題修改:

問(wèn)題及修改:

1)..SYSTEMdelaydelay.c(27): error:#20: identifier "SysTick_CLKSource_HCLK_Div8" is undefined

解決方法:在delay.c中添加“#include"misc.h"”

2)..SYSTEMsyssys.c(18): error:#20: identifier "NVIC_PriorityGroup_2" is undefined

解決方法:在sys.c中添加“#include"misc.h"”

3). ..SYSTEMusartusart.c(75): error:#20: identifier "GPIO_InitTypeDef" is undefined

解決方法:在usart.c中添加“#include”stm32f10x_gpio.h””

4)..SYSTEMusartusart.c(77): error:#20: identifier "USART_InitTypeDef" is undefined

解決方法:在usart.c中添加“#include"stm32f10x_usart.h"”

5)..SYSTEMusartusart.c(80): error:#20: identifier "NVIC_InitTypeDef" is undefined

解決方法:在usart.c中添加“#include"misc.h"”

6)..SYSTEMusartusart.c(82): warning:#223-D: function "RCC_APB2PeriphClockCmd" declared implicitly

解決方法:在usart.c中添加“#include"stm32f10x_rcc.h"”

7)..HARDWARELEDled.c(22): error:#20: identifier "GPIO_InitTypeDef" is undefined

解決方法:在led.c中添加“#include"stm32f10x_gpio.h"”

8)..HARDWARELEDled.c(25): error:#20: identifier "RCC_APB2Periph_GPIOA" is undefined

解決方法:在led.c中添加“#include"stm32f10x_rcc.h"”

20150318

..SysTick_LED.axf: Error: L6218E: Undefined symbol uart_init (referred from main.o).

這個(gè)錯(cuò)誤說(shuō)的是在main函數(shù)中引用了uart_init()函數(shù),但是這個(gè)函數(shù)沒(méi)有被定義。

其實(shí)這個(gè)函數(shù)是在uart.c中定義的并且在uart.h中做了聲明,uart.h也被包含進(jìn)了main函數(shù)了。

出問(wèn)題的原因是這樣的:uart.c中uart_init()函數(shù)是定義在預(yù)編譯命令對(duì)

#if EN_USART1_RX

...............

#endif

中的。而#define EN_USART1_RX 0所以,這對(duì)預(yù)編譯命令不被編譯,即uart_init()沒(méi)有被定義。將

#define EN_USART1_RX 0改成#define EN_USART1_RX1就好了。

20150321

編譯沒(méi)有錯(cuò)誤,但是串口無(wú)法向串口中斷打印信息,原因是串口輸出要用到相應(yīng)的GPIO,程序中忘了使能這些IO的時(shí)鐘,使能一下就好了。



關(guān)鍵詞: stm32編譯問(wèn)題解

評(píng)論


技術(shù)專區(qū)

關(guān)閉