📄 main.c
字号:
#include"SPCE061A.h"
int j=0x0000;
//=======================================================
//main函数
//功能:按S1键输出锯齿波,S2键输出三角波,S3键输出正弦波
//=======================================================
int main()
{
*P_SystemClock=0x00f3;
*P_DAC_Ctrl=0x0000;
while(1)
{
while(j!=0xffc0)
{
*P_DAC1=j; //输出为0
j=j+0x0040; //幅度提高一个台阶
*P_Watchdog_Clear=0x0001;
}
while(j!=0)
{
*P_DAC1=j; //输出为峰值
j=j-0x0040; //幅度减小一个台阶
*P_Watchdog_Clear=0x0001;
}
}
return 0;
}
//==========================================================================
//锯齿波中断服务子程序
//==========================================================================
/*void IRQ2(void) __attribute__ ((ISR));
void IRQ2(void)
{
*P_DAC1=j; //输出为0
*P_DAC2=j;
j=j+0x0040; //幅度提高一个台阶
*P_Watchdog_Clear=0x0001;
*P_INT_Clear=0x0400;
}*/
//==========================================================================
//三角波中断服务子程序
//==========================================================================
/*void FIQ(void) __attribute__ ((ISR));
void FIQ(void)
{ while(j!=0xffc0)
{ *P_DAC1=j; //输出为0
*P_DAC2=j;
j=j+0x0040; //幅度提高一个台阶
*P_Watchdog_Clear=0x0001;
}
while(j!=0)
{ *P_DAC1=j; //输出为峰值
*P_DAC2=j;
j=j-0x0040; //幅度减小一个台阶
*P_Watchdog_Clear=0x0001;
}
*P_INT_Clear=0x0800;
}*/
//==========================================================================
//正弦波中断服务子程序
//==========================================================================
/*void IRQ1(void) __attribute__ ((ISR));
void IRQ1(void)
{
*P_DAC1=TBsin[SinData++];
*P_DAC2=TBsin[SinData++];
if(SinData==200)
SinData=0;
*P_Watchdog_Clear=0x0001;
*P_INT_Clear=0x1000;
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -