我用的是C2000 MCU+TLV5636。 硬件电路为:
Vout接示波器
当我想输出三角波的时候 发现输出的三角波的电压峰峰值一直在衰减。如下图:
可是我的程序并没有这么做。
换了几片芯片 也尝试过TLV5616,发现结果都是一样的,不知道是哪里出了问题。
下面是我的部分程序,希望有人能够解答一下异或。
#define CS_1 GpioDataRegs.GPASET.bit.GPIO8=1 #define CS_0 GpioDataRegs.GPACLEAR.bit.GPIO8=1 #define DIN_1 GpioDataRegs.GPASET.bit.GPIO9=1 #define DIN_0 GpioDataRegs.GPACLEAR.bit.GPIO9=1 #define SCLK_1 GpioDataRegs.GPASET.bit.GPIO17=1 #define SCLK_0 GpioDataRegs.GPACLEAR.bit.GPIO17=1 #define FS_1 GpioDataRegs.GPASET.bit.GPIO7=1 #define FS_0 GpioDataRegs.GPACLEAR.bit.GPIO7=1 void main() { for(;;) { for(j=1;j<4000;j++) { DAC(j); DELAY_US(50); } for(j=4000;j>1;j--) { DAC(j); DELAY_US(50); } } } void DAC(Uint16 data) { unsigned char i=0; Uint16 DD; data|=0x4000; CS_1; __asm(" NOP"); FS_0; __asm(" NOP"); FS_1; __asm(" NOP"); CS_0; __asm(" NOP"); FS_0; for(i=0;i<16;i++) { DD=(data<<i) & 0x8000 ; if(DD==0x8000) DIN_1; else DIN_0; SCLK_0; __asm(" NOP"); SCLK_1; } FS_1; __asm(" NOP"); SCLK_1; __asm(" NOP"); CS_1; __asm(" NOP"); }