您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]uart輸出
本帖共有655个阅读者
发表帖子 发表投票 回复主题
[求助]uart輸出
qwe90369(论坛新手)
qwe90369
头衔:社区公民
帮派:无帮无派
帖数:13
金钱:235
积分:21
注册时间:2013/10/29
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]uart輸出
請問為什麼錯誤。謝謝!!  ".\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();
}


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/12/3 10:31:23
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
TXbuf[50]={"sfmTest UART in ADSP-EDU-BF53x Board\r\n\n"}
while(1)

这两句没有加 ;

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/12/4 12:09:20
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159207 Call, 1 Queries, Processed in 0.016022 second(s),