打印

F2812与TLV5614多通道输出

[复制链接]
2181|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
农妇三拳|  楼主 | 2010-8-11 09:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 农妇三拳 于 2010-8-11 09:32 编辑

以下程序为F2812与tlv5614实现单通道输出部分程序
interrupt void spiTxFifoIsr(void)
{
//  SpiaRegs.SPITXBUF=0x0000+temp;       // 通过SPISIMOA引脚发送数据。
           // 0x0000用意为选择OUTA输出通道,慢模式。
// temp+=0x1;
// if(temp==0x1000) {temp=0;}
    SpiaRegs.SPITXBUF=0x0000+2000+(800*sin(temp*deta));     
              // 通过SPISIMOA引脚发送数据。
           // 0x0000用意为选择OUTA输出通道,慢模式。
temp++;
if(temp==720) {temp=0;}
GpioDataRegs.GPGCLEAR.bit.GPIOG5=1;  // 更新数模转换输出数据
GpioDataRegs.GPGSET.bit.GPIOG5=1;  // 保持数模转换输出数据
     SpiaRegs.SPIFFTX.bit.TXFFINTCLR=1;   // 清中断标志位
PieCtrlRegs.PIEACK.all|=0x20;     // 发布PIE应答
delay(10);
}

怎么实现双通道以上输出,还没有弄清楚,高手请指点!
是否涉及到延时以及最大刷新频率了呢?
是否通过选择位 就可以了?但是我做了实验
interrupt void spiTxFifoIsr(void)
{
//  SpiaRegs.SPITXBUF=0x0000+temp;       // 通过SPISIMOA引脚发送数据。
           // 0x0000用意为选择OUTA输出通道,慢模式。
// temp+=0x1;
// if(temp==0x1000) {temp=0;}
    SpiaRegs.SPITXBUF=0x0000+2000+(800*sin(temp*deta));      // 通过SPISIMOA引脚发送数据。
           // 0x0000用意为选择OUTA输出通道,慢模式。

    delay(10); // 后加的延迟函数---------------------------------------------------------------------------------------------------------------------
   SpiaRegs.SPITXBUF = 0x8000+2000+(800*sin(temp*deta)); // 0x8000用意位选择OUTC输出通道,慢模式,后加的---------------
            
temp++;
if(temp==720) {temp=0;}
GpioDataRegs.GPGCLEAR.bit.GPIOG5=1;  // 更新数模转换输出数据
GpioDataRegs.GPGSET.bit.GPIOG5=1;  // 保持数模转换输出数据
     SpiaRegs.SPIFFTX.bit.TXFFINTCLR=1;   // 清中断标志位
PieCtrlRegs.PIEACK.all|=0x20;     // 发布PIE应答
delay(10);
}
可是outC通道没有输出啊?

相关帖子

沙发
农妇三拳|  楼主 | 2010-11-24 15:21 | 只看该作者
诶 自己的活 自己干吧!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

42

帖子

1

粉丝