📄 cy.c
字号:
#include <string.h>
#include <stdlib.h>
//#include <math.h>
//#include "sin500.h"
#include "table500.h"
#include "SQR1000.h"
//#include "globleio.h"
/////////////////////////////////////////////////////////////////////////////
#define first_half 0x0001
#define half_empty 0x0002
#define PI 3.14
/////////////////////////////////////////////////////////////////////////////
#pragma DATA_SECTION(RxBuf, "dmrx_sect")
signed int RxBuf[256];
#pragma DATA_SECTION(TxBuf, "dmtx_sect")
signed int TxBuf[1024];
#pragma DATA_SECTION(CirBuf, "circle_sect")
signed int CirBuf[192];
#pragma DATA_SECTION(Buf, "Buf_sect")
signed int Buf[128];
unsigned int status;
extern void dspinit();
extern void bsp0init();
extern void bsp1init();
extern void dmainit();
extern void bspstop();
extern firloop(signed int *DestAddr);
extern firlooptest(signed int *DestAddr);
/////////////////////////////////////////////////////////////
int *RxIndex,*CirIndex,*BufIndex;
/////////////////////////////////////////////////////////////
void main()
{
unsigned int i;
for(i=0;i<512;i++) //使发送缓冲区初始值为0
{
TxBuf[i]=0;
}
for(i=0;i<32;i++)
{
Buf[i]=0x800;
Buf[i+32]=0x00;
Buf[i+64]=0x800;
Buf[i+96]=0x00;
}
dmainit(); //DMA控制初始化
bsp0init(); //BSP0接口初始化
bsp1init(); //BSP1接口初始化
RxIndex=RxBuf;
CirIndex=CirBuf;
BufIndex=Buf;
status=0;
asm(" PORTW 1h,0bh"); //向外部地址1写数据0bH
asm(" PORTW 1h,09h"); //向外部地址1写数据09
// asm(" PORTW 1h,0bh"); //向外部地址1写数据0bH
asm(" STM #3fffh, IFR"); //IFR寄存器赋初值
asm(" STM #3000h, IMR"); //IMR寄存器赋初值
asm(" RSBX INTM"); //使能中断
while(1)
{
asm(" RSBX XF"); //使能XF
if((status&half_empty)==half_empty) //形成乒乓机制,进行循环滤波运算
{
asm(" SSBX XF"); //使XF置0
status&=~half_empty;
if((status&first_half)==first_half)
{
firloop(TxBuf); //对发送区前半部分的数据进行滤波运算
}
else
{
firloop(&TxBuf[512]); //对发送区后半部分的数据进行滤波计算
}
}
}
}
interrupt void dmtx() //DMA中断子程序
{
asm(" STM #3fffh, IFR");
if((status&first_half)==first_half)
{
status&=~first_half;
status|=half_empty;
}
else
{
status|=first_half;
status|=half_empty;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -