1. 程式人生 > >CC2541 程式編譯錯誤——Warning[w52]

CC2541 程式編譯錯誤——Warning[w52]

開啟 CC2540_MINIDK 巨集定義後,

INT_HEAP_LEN=3000 HALNODEBUG OSAL_CBTIMER_NUM_TASKS=1 POWER_SAVING HAL_AES_DMA=FALSE HAL_LCD=FALSE HAL_LED=TRUE CC2540_MINIDK HAL_UART HAL_UART_DMA=1 HAL_UART_ISR=0 HCI_UART_BR=3 HAL_KEY=TRUE

編譯出現警告: Warning[w52]: More than one definition for the byte at address 0x6b in common segment INTVEC. It is defined in module "hal_uart" as well as in module "hal_key"

問題出現原因:

1. 定義了串列埠 uart,而且是中斷模式,中斷向量使用了 P0 口

2. 定義了按鍵功能 key,並且使用了中斷模式,中斷向量同樣使用了 P0 口

3. 所以問題就是 P0 口的中斷定義了兩次

問題解決方案:

1. 改變 uart 的 I\O 口,換成 P1 口

2. 改變 Key 的 I\O,換成 P1、P2 口

3. 如果 I\O 不能更改,那就刪掉一箇中斷函式,在兩外一箇中斷函式中判斷具體是 uart 還是 Key 的中斷,分別處理中斷