spi_out_trigonalwave.c
来自「三角波发生程序」· C语言 代码 · 共 82 行
C
82 行
//测试功能:该程序利用LF2407的SPI模块向MAX5121芯片发送数据用于D/A转换,MAX5121的模拟输出端输出一个三角波
#include "ioreg.h"
int GPR3;
int flag1;
int flag;
int initial()
{
asm(" setc INTM");
WSGR=0x00;
asm(" clrc SXM");
asm(" clrc OVM");
asm(" clrc CNF");
SCSR1 = 0x81fe;
WDCR = 0x0e8;
}
int SPIINITIAL()
{
SPICCR=0x004f;
SPICTL=0x0006;
SPIBRR=0x0007;
MCRB=0x003c;
MCRC=MCRC&0x0fffe;
SPICCR=SPICCR|0x0080;
}
int SPITRANS()
{
PEDATDIR=(PEDATDIR|0x0100)&0x0fffe;
SPITXBUF=GPR3;
while(1)
{
flag=SPISTS&0x40;
if(flag==0x40) break;
}
SPIRXBUF=SPIRXBUF;
PEDATDIR=PEDATDIR|0x01;
}
main()
{
initial();
SPIINITIAL();
GPR3=0x4000;
flag1=0x00;
while(1)
{
if(flag1==0x00)
GPR3=GPR3+2;
else
GPR3=GPR3-2;
if(GPR3==0x5ffe) flag1=0x01;
if(GPR3==0x4000) flag1=0x00;
SPITRANS();
}
}
void interrupt nothing()
{
return;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?