ADS 1.2问题请教
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的设置问题,不晓得从哪里入手。谢谢!
关键词: 问题 请教
||基于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);
}
}
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |