請問為什麼錯誤。謝謝!! ".\uart.c", line 84: cc0029: error: expected an expression
TXbuf[50]={"sfmTest UART in ADSP-EDU-BF53x Board\r\n\n"}
#include <cdefBF592-A.h>
#include <sys\exception.h>
unsigned char RXbuf[512];
unsigned char TXbuf[50];
int cont;
void Set_PLL(int pmsel,int pssel)
{
int new_PLL_CTL;
*pPLL_DIV = pssel;
asm("ssync;");
new_PLL_CTL = (pmsel & 0x3f) << 9;
*pSIC_IWR |= 0xffffffff;
if (new_PLL_CTL != *pPLL_CTL)
{
*pPLL_CTL = new_PLL_CTL;
asm("ssync;");
asm("idle;");
}
}
EX_INTERRUPT_HANDLER(UART_ISR);
void UARTinit(unsigned short div)
{
*pPORTF_FER |= ( PF11 | PF12 );
/* configure UART0 RX and UART0 TX pins */
*pPORTF_MUX &= ~(PF11 | PF12 );
*pUART0_GCTL=0x0009;
*pUART0_LCR=0x0080;// DLAB=1 允許訪問DLL 和DLH
*pUART0_DLL=div;
*pUART0_DLH=div>>8; //DLL DLH分別輸出
*pUART0_LCR=0x0003;// 允許訪問 RBR THR 睿IER
*pUART0_IER=0x0001;// 允許接收中斷
}
EX_INTERRUPT_HANDLER(UART_ISR)
{
if(*pUART0_LSR&DR) //判斷是否有新數據
{
if(cont>512) //防止buff溢位,測試,將接收到的數據重複寫入512字元的Buff
cont = 0;
RXbuf[cont]=*pUART0_RBR;
cont++;
}
}
void Init_Interrupts(void)
{
*pSIC_IAR0 = 0xffffffff;
*pSIC_IAR1 = 0xf3ffffff; // UART 中斷定義
*pSIC_IAR2 = 0xfffFFffF;
register_handler(ik_ivg10, UART_ISR); // UART ISR -> IVG 10
*pSIC_IMASK = 0x00000080;
}
void Test_TX(void)
{
int i;
for(i=0;i<50;i++) //發送測試函數,將生成的數據透過IR發送出去
{
*pUART0_THR=TXbuf[i];
while(!(*pUART0_LSR&0x0020));
}
}
int main()
{
int i;
Set_PLL(16,4);
//波特率=100M/(16*X)
UARTinit(651); //9600波特率
Init_Interrupts();
TXbuf[50]={"sfmTest UART in ADSP-EDU-BF53x Board\r\n\n"}
while(1)
Test_TX();
}