当前位置: 代码迷 >> 驱动开发 >> UART程序展示SWI exception!
  详细解决方案

UART程序展示SWI exception!

热度:49   发布时间:2016-04-28 10:52:41.0
UART程序显示SWI exception!!!
各位,我写了个UART程序,很简单。目的是想向串口不断的发送固定的数据,代码如下:

#define rULCON0 (*(volatile unsigned *)0x50000000) //UART0线控制寄存器,规定数据传输的格式
#define rUCON0 (*(volatile unsigned *)0x50000004) //UART0控制寄存器
#define rUTRSTAT0 (*(volatile unsigned *)0x50000010) //UART0状态寄存器
#define rUBRDIV0 (*(volatile unsigned *)0x50000028) //UART0波特率寄存器
#define rUTXH0 (*(volatile unsigned *)0x50000020) //UART0发送数据寄存器
#define rURXH0 (*(volatile unsigned *)0x50000024) //UART0接收数据寄存器

int send_delay()
{
int time=50000;
for(;time>0;time--)
return 0;
}

int wait_delay()
{
int time=500000;
for(;time>0;time--);
return 0;
}


int main()
{  
char data[10]="123456789";
int count=0;

rULCON0&=0xffffff00;
rULCON0=0x03; //每帧数据格式设为8位数据位,1位停止位,无奇偶校验位
rUCON0=0x0805; //发送接收为查询模式, 串口时钟为PCLK(50MHZ)
rUBRDIV0=0x1a; //波特率BR设为115200bps int(PCLK/(BR*16))-1=26

while(1)
{
while(data[count]!='\0')  
  { 
  rUTXH0=(( unsigned long)data[count++]);
  send_delay();

}
wait_delay();
  }
  return 0;
}
程序编译调试环境是ADS,编译测试通过!但是通过DNW用USB下载到板子(忧龙s3c24402440)下运行的时候显示SWI exception!!!
各位谁能帮我解决下呢,或是发给我个类似的代码呢!
谢谢了!
弄了几天都没有弄出来,都要打击我继续学习的信心了!

------解决方案--------------------
SWI exception!!!

只能说明产生了SWI异常,SWI是软件中断向量,SWI异常处理是CPU执行SWI指令时使用。这通常是用来实现OS的系统调用机制。

楼主可以打电话给厂家的技术支持试试,我觉得不是程序本身的问题。

而是你Down的方式或者位置不对。

可以把板子中的系统擦掉,完全来测试裸机程序。
  相关解决方案