spi8位的 能不能分两次发送 跟DA通信。。。我自己做的时候示波器上看到波形 没啥问题 不过就是不出数据。。。设置的是DA的B路输出,结果AB两路都有输出,应该是乱码了。 求高手指点一二。。。。。。
高手快出现!!!!!!!!!!!!!!!!!!!!!!!!
我使用的是launchpad msp430g2553 ,想用8bit的16bit的tlv5618 通过串口通信
中断里面是这么写的
{
set_cs; //DA要求cs高无效
count = (count++)%256; //正弦表累加
IE2 &= ~UCA0TXIE; //关中断,以免高位数据发完后中断
UCA0TXBUF = sindata_h[count]|0x40; 发送高位数据16位中最高4位是命令 sindata数据都小于0x0fff
clr_cs; //cs低有效
while(!UCA0TXIFG); //高8位发送完毕
UCA0TXBUF = sindata_l[count]; //发送低8位
IE2 |= UCA0TXIE; //开中断 发送完成后进入循环
}
DA 没有输出 检查各个端口波形看起来都正常。
软件模拟16bit spi 可以输出波形。
[
本帖最后由 宇文玉骢 于 2012-8-8 17:05 编辑 ]
此帖出自
小平头技术问答
8bit 模拟16bit
中断里面是这么写的
{
set_cs; //DA要求cs高无效
count = (count++)%256; //正弦表累加
IE2 &= ~UCA0TXIE; //关中断,以免高位数据发完后中断
UCA0TXBUF = sindata_h[count]|0x40; 发送高位数据16位中最高4位是命令 sindata数据都小于0x0fff
clr_cs; //cs低有效
while(!UCA0TXIFG); //高8位发送完毕
UCA0TXBUF = sindata_l[count]; //发送低8位
IE2 |= UCA0TXIE; //开中断 发送完成后进入循环
}
DA 没有输出 检查各个端口波形看起来都正常。
软件直接模拟16bit spi 可以输出波形。
一周热门 更多>