熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2022-2-27 14:15
正文摘要:本帖最后由 IFW 于 2022-3-3 20:02 編輯 Keil5出現(xiàn)expected a"{" 怎么解決?代碼里有{ #ifndef _BSP_KEY_H #define _BSP_KEY_H #include "stm32f10x.h" #define KEY_O ... |
啊原來是頭文件里面有一個(gè)定義函數(shù)沒有加引號(hào) |
問題應(yīng)該出在頭文件里面,打開頭文件看一下 |
可以檢查.h文件,另外keil不能識(shí)別二進(jìn)制 |
少了大括號(hào)的一半 |
編程的好習(xí)慣是:1.常備份;2. 編寫幾句后就編譯一次。出現(xiàn)問題很容易找到。即使沒有問題的完全項(xiàng)目程序,在某個(gè)文件中偶然刪除或多加了一個(gè)符號(hào),再編譯可能會(huì)出現(xiàn)一大堆錯(cuò)誤。僅根據(jù)錯(cuò)誤信息,也很難找出頭緒。 |
猜測(cè)可能 #include "stm32f10x.h" 頭文件中被誤按鍵輸入 } 了; |
程序是從其他地方復(fù)制過來的嗎?如果是話可能是粘貼之后發(fā)生了變化 |
發(fā)表于 2022-2-27 19:17 #ifndef _BSP_KEY_H #define _BSP_KEY_H #include "stm32f10x.h" #define KEY_ON 1 #define KEY_OFF 0 #define KEY1_GPIO_PIN GPIO_Pin_0 #define KEY1_GPIO_PORT GPIOA #define KEY1_GPIO_CLK RCC_APB2Periph_GPIOA void KEY_GPIO_Config(void); uint8_t Key_Scan(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin); #endif /*_BSP_KEY_H */ |
第一遍在芯片頭文件中的結(jié)構(gòu)體重,定義方法如下 struct { __IO uint32_t PLLEN : 1; /*!< (@ 0x0000001C) PLLEN */ XXXXXXXXXX /*其它定義*/ } CLKCTRL_b;` 1234 第二遍在外部晶振定義時(shí)。 #define PLLEN (1<<28) // pll 1 這兩種定義產(chǎn)生沖突因此出現(xiàn)了以上錯(cuò)誤。 |
貼全了,第13行報(bào)錯(cuò)一般問題都在13行以前。 |
Powered by 單片機(jī)教程網(wǎng)