📄 test.c
字号:
//#include "C:\AD50\include\type.h"
//#include "C:\AD50\include\board.h"
//#include "C:\AD50\include\codec.h"
//#include "C:\AD50\include\mcbsp54.h"
#include "C:\AD50\include\regs54xx.h"
unsigned int AIC23_ADDR=0x1b; //AIC23_ADDR=0011011b when cs=1.
//unsigned int AIC23_ADDR=0x1a; //AIC23_ADDR=0011010b when cs=0.
unsigned int DSP_WORKING_FREQUENCY,ERROR_COUNT=0;
#include "F:\Graduate Design++++\PROGRAM_FOR_DSP\IIC\IIC.H"
int ms,f=1;
int DA_wptr,DA_rptr,y;
int Flag = 0;
int play_mode;
void main()
{
// unsigned int temp,i;
asm(" STM #0000h,CLKMD ");
while(CLKMD & 0x01 );
asm(" STM #40c7h,CLKMD ");
DSP_WORKING_FREQUENCY=100;//单位MHZ//一定要与寄存器CLKMD相匹配。影响到IIC的时钟周期!
/* 40C7h:5*clkin =100M
30c7h:4*clkin =80M
20c7h:3*clkin =60M
10C7h:2*clkin =40M
*/
asm(" stm #0000h, SWWSR ");//asm(" stm #4240h, SWWSR ");
//2 wait except for on-chip program 1
asm(" stm #00a0h, PMST "); //MP/MC = 0, IPTR = 001,ovly=1
asm(" stm #0802h, BSCR ");
asm(" STM #0h,IMR ");
asm(" STM #0010h,TCR "); //关定时器
asm(" STM #0186ah,PRD ");//1ms
asm(" STM #0C2fh,TCR "); //TCR=最后四位
asm(" STM #0408h,IFR ");
asm(" ORM #0408h,*(IMR) ");/*开时间中断与BRINT1中断*/
DA_wptr=0;
DA_rptr=0;
//FORMAT: SEND_IIC(AIC23_ADDR,AIC23_REG_ADDR,AIC23_REG_DATA);
/*/evm_mode_A+++++++++++++++++++++++++++++++++
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x0f,0x00);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x09,0x01);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x08,0x22);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x07,0x43);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x06,0x00);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x05,0x05);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x04,0x7d);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x03,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x02,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x01,0x17);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x00,0x17);
//evm_mode_A++++++++++++++++++++++++++++++++*/
//evm_mode_B+++++++++++++++++++++++++++++++
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x0f,0x00);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x09,0x01);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x08,0x18);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x07,0x43);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x06,0x02);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x05,0x05);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x04,0x12);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x03,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x02,0x74);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x01,0x17);
ERROR_COUNT+=SEND_IIC(AIC23_ADDR,0x00,0x17);
//evm_mode_A++++++++++++++++++++++++++++++++*/
McBsp1_init(); //串口初始化
asm(" RSBX INTM "); /*开中断*/
play_mode=1; //发警报声
while(1)
{
/*for(temp=30000;temp>0;temp-=100)
for(i=0;i<2;i++)
{
y=5000;
delay(temp);
y=-5000;
delay(temp);
}*/
}
}
interrupt void timer0()
{
ms++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -