This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430FG4619:MSP430FG4619

Guru**** 1809840 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/920914/ccs-msp430fg4619-msp430fg4619

器件型号:MSP430FG4619

工具/软件:Code Composer Studio

我们使用这种非常简单的 SPI 代码写入 DAC、但 DAC 输出不会改变。

附加的时钟和数据跟踪显示时钟和数据转换处于完全相同的时刻。 无4ns 延迟、因此 DAC 可能正在读取垃圾数据。 时钟-数据线在所有规格表中都有轻微延迟、但在迹线上没有。

我们如何延迟时钟以便数据可以稳定?  这可能是问题吗?

谢谢、Peter

_________________________________________________________

#include "main.h"
unsigned int data16、datahi、datalo;
int SPI_init (void)

P3SEL |= BIT1;// P3.1 UCB0SIMO (从器件输入、主器件输出–USCI_B0 SPI 模式)
P3SEL |= BIT2;// P3.2 UCB0SOMI (从器件输出、主器件输入–USCI_B0 SPI 模式)
P3SEL |= BIT3;// P3.3 UCB0CLK (时钟输入\输出)
IO_OUTPUT (P3、BIT0);//p3.0 CS 输出

UCB0CTL1 |= UCSWRST;//将状态机置于复位状态**
UCB0CTL0 |= UCMST+UCSYNC+UCCKPL+UCMSB;// 3引脚、8位 SPI 主器件、时钟极性高电平、MSB
//UCB0CTL0 |= UCCKPH + UCMSB + UCMST + UCSYNC;//我们使用时钟的相位和极性、但效果不好
UCB0CTL1 |= UCSSEL_2;// SMCLK
//UCB0BR0 = 0x02;///2 SMCLK=5.2MHZ 如果 div=2,则时钟为2.4MHZ,太快了!
UCB0BR0 = 52;// SMCLK = 5.2MHZ div=5.2mhz/100,000=52 br0+BR1x256、因此对于100K 时钟、div = 52
UCB0BR1 = 0;
UCB0CTL1 &=~UCSWRST;//**初始化 USCI 状态机**
返回0;

/********* /
#define SPI_HDR 0x7000 //0011位16 =0写入位15 1=缓冲位14 GA=1=Vref*D/4096位13 SHDC=1


int SPI_TX (int spi12位){int i;
spi12bit = spi12bit 和0xFFF;//get 12位
data16 = SPI_HDR + spi12位;//MCP4921标头+数据
datahi=data16>>8; datalo=data16 & 0xFF;
io_low (P3、BIT0);for (i=0;i<20;i++);//芯片选择低电平。 等待
UCB0TXBUF =数据 AHI;
while (UCB0STAT 和 UCBUSY);//等待完成
UCB0TXBUF =数据项;
while (UCB0STAT 和 UCBUSY);//等待完成
对于(i=0;i<20;i++);IO_HIGH (P3、BIT0);//芯片选择高电平
返回0;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们解决了这个问题。  它是时钟极性、因此请忽略。 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Peter 提供的信息。

    此致

    Kostas