这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » ADS 1.2问题请教

共3条 1/1 1 跳转至

ADS 1.2问题请教

菜鸟
2004-08-25 18:56:47     打赏
我用的是ADS 1.2 新建一个project后,编译,一个*.S文件出错。*.S文件代码如下: #include <hal_conf.h> ---------------------------(1) Mode_USR EQU 0x10
Mode_IRQ EQU 0x12
Mode_SVC EQU 0x13
Mode_ABT EQU 0x17
Mode_FIQ EQU 0x11 I_Bit EQU 0x80
F_Bit EQU 0x40 REMAP_ALIAS_ENABLE_REG EQU 0xd1010440
MSS_SDR_CTRL_REG EQU 0xd101000c
SYS_POWER_CTRL_REG EQU 0xd1010110
SYS_CLOCK_CTRL_REG EQU 0xd1010100
SYS_PLL_STATUS_REG EQU 0xd1010104
SYS_PLL_STATUS_CLEAR_REG EQU 0xd1010108
SYS_PLL_CONTROL_REG EQU 0xd1010114
RMAP_PAUSE_REG EQU 0xd1010400 IMPORT |Image$$.text$$Limit| ; End of ROM code (=start of ROM data)
IMPORT |Image$$RW$$Base| ; Base of RAM to initialise
IMPORT |Image$$RW$$ZI$$Base| ; Base and limit of area
IMPORT |Image$$RW$$ZI$$Limit| ; to zero initialise #ifndef _NO_C_LIB ------------------------------(2)
IMPORT __use_no_semihosting_swi
#endif
IMPORT a7hal_icu_IRQExit
IMPORT a7hal_icu_IRQEnter .S文件中本来应该用汇编写,里面所有用“C”代码的地方都报错了,比如(1)提示:Error : A1167E : Invalid line start . (2)提示:Error : A1163E : Unknown opcode 源代码应该没问题,是别人用过的。请大虾们指教,我一点都须都没有。我猜想是ADS的设置问题,不晓得从哪里入手。谢谢!



关键词: 问题     请教    

菜鸟
2012-03-09 20:54:54     打赏
2楼

||基于arm的频率测试仪,在超级终端上显示,(程序有问题,谢谢帮忙)||
#include "config.h"


#define uint32 unsigned int
#define uint8 unsigned char
#define uint16 unsigned short

#define  UART_BPS 115200   // 定义通讯波特率

 

/****************************************************************************
* 名    称:DelayNS()
* 功    能:长软件延时
* 入口参数:dly  延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
void  DelayNS(uint32  dly)
{   uint32  i;
   
    for(; dly>0; dly--)
    {
        for(i=0; i<5000; i++);
    }

}

/****************************************************************************
* 名    称:UART0_Ini()
* 功    能:初始化串口0。设置为8位数据位,1位停止位,无奇偶校验,波特率为115200
* 入口参数:无
* 出口参数:无
****************************************************************************/
void  UART0_Init(void)
{   uint16 Fdiv;

    U0LCR = 0x83;      // DLAB = 1,可设置波特率
    Fdiv = (Fpclk / 16) / UART_BPS;  // 设置波特率
    U0DLM = Fdiv / 256;       
    U0DLL = Fdiv % 256;      
    U0LCR = 0x03;
}    

/****************************************************************************
* 名    称:UART0_SendByte()
* 功    能:向串口发送字节数据,并等待发送完毕。
* 入口参数:data  要发送的数据
* 出口参数:无
****************************************************************************/
void  UART0_SendByte(uint8 data)

    U0THR = data;         // 发送数据
    while( (U0LSR&0x40)==0 );      // 等待数据发送完毕
}

/****************************************************************************
* 名    称:UART0_SendStr()
* 功    能:向串口发送一字符串
* 入口参数:srt  要发送的字符串的指针
* 出口参数:无
****************************************************************************/
void  UART0_SendStr(uint8 const *str)

    while(1)
    { 
        if( *str == '\0' ) break;
        UART0_SendByte(*str++);      // 发送数据
    }
}
void jisun()
{
 uint32 time;
 time=time2-time1;
 jisun=11502900/time;
}

/****************************************************************************
* 名    称:main()
* 功    能:向串口UART0发送字符串"Hello World!"
****************************************************************************/
int  main(void)

   
  TargetResetInit();
  char  SEND_STRING[ ]="HZ\r\n";
  uint32 a;
  char b[5];
  flay=0;
  PINSEL3=0x20;
  T0PR=0;
  T0CCR=0x10;
  if(flay==0)
  {
    while((T0IR&0x10)==0)
    time1=T0CCR;
    flay++;
   }
   else
   {
    while((T0IR&0x10)==0)
     time2=T0CCR
     flay=0;
     T0TC=0;
     T0TCR=0x0;
     jisun;
   }
    a=jisun;
    char b[5];
    sprintf(b,"%d",a);
    PINSEL0 = 0x00000050;      // 设置I/O连接到UART0
    UART0_INIT();
    while(1) 
    { 
        UART0_SendStr(SEND_STRING);
        DelayNS(10);
    }
   


}

 


高工
2012-03-10 11:02:08     打赏
3楼

这是怎么搞的,一个2004年的老帖子和一个2012的问题弄在了一起


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]