|
我要編一個(gè)串口程序,就是普通的51單片機(jī),希望將串口接收到的數(shù)據(jù)存放在一個(gè)數(shù)組里面bufer[16],定義了兩個(gè)全局變量i、j來指定數(shù)組里面的元素,串口的相關(guān)函數(shù)放在 UART.C 里面,對(duì)應(yīng)的聲明放在 UART.H 里面,那個(gè)數(shù)組和全局變量也放在 UART.H 里面,現(xiàn)在問題來了,編譯不通過,出現(xiàn)如下錯(cuò)誤: *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: J MODULE: UART.obj (UART) *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: I MODULE: UART.obj (UART) *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: BUFER MODULE: UART.obj (UART) *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: USART_INTERRUPT MODULE: UART.obj (UART)
然后我又把數(shù)組和這兩個(gè)變量移到 main.c 最前面定義,還是不行,放到 UART.C 前面也不行都說沒有定義,但是我把所有的程序都寫在 main.c 里面的時(shí)候,在最前面定義全局變量是好的,郁悶
想請(qǐng)教一下高手們,像這樣在 main.c 以外的文件里,需要用到全局變量,應(yīng)該怎么定義啊,多謝了!! |
|