Thread 中讨论的其他器件: LMX2595、 USB2ANY
尊敬的先生,
我正在研究 LMX2595和 MSP430F5529以生成17GHz 频率合成器。 现在、为了实现这一点、我需要使用从 TICS PRO 软件获得的值对微控制器进行编程。 我需要在主模式下操作控制器、并使用 SPI 协议将数据串行传输到从器件 LMX2595。 我已经知道 MSP430F5529具有79x 魔术常量。 现在、为了根据特定应用使用 LMX2595器件、我需要更改这些常量。
1) 1)如何访问这些79x 魔术常量并通过编程来改变它们?
2) 2)我无法在 MSP430F5529中找到采用这种存储器格式的寄存器、即1位 R?W、7位地址、16位数据
3一旦数据被传输到从器件、从器件必须向主器件确认、因为从器件(LMX2595)没有任何 MOSI 引脚。
4) 4)在下面的编程中、通道0的控制寄存器已经被使用了、我能否访问79x 魔术常量并改变这些值
在主控模式下操作 MSP430F5529来传输数据
#include MSP430器件的//头文件
void IOInitiate(void);
void SPI_MASTER_INITIATE (void);
void SPI_Tx (字符字节数据);
void main (void)
{
WDTCTL = WDTPW+WDTHOLD;//停止看门狗计时器
IOInitialate();//输入输出初始化
SPI_MASTER_INITIT();//主器件初始化
_bis_SR_register (GIE);//启用中断
//返回
char sed_to_='a';
while (1)
{
SPI_Tx (sed_to);//继续发送数据
}
}
空 IOInitialate (空)
{
P2DIR |= BIT7;//将 P1.0设置为 LED 的输出方向
P2OUT &=~BIT7;//默认为低电平
P3SEL |= BIT0+BIT1 + BIT2;// P3.0 UCA0SIMO // P3.1 UCA0SOMI // p3.2 clk
P2SEL |= BIT7;// CS
}
void SPI_MASTER_INITIATE (void)
{
UCB0CTL1 |= UCSWRST;//**将状态机置于复位状态**
UCB0CTL0 |= UCMST+UCSYNC+UCCKPL;//8位 SPI 主时钟极性高、MSB
UCB0CTL0 |= UCMODE_2;// 4引脚通信
UCB0CTL1 |= UCSSEL_2;// SMCLK //时钟选择
UCB0BR0 = 0x00;// SMCLK 速度除以1/***** 如果 UCBRx = 0、fBitClock = fBRCLK****
UCB0BR1 = 0;
UCA0MCTL = 0;//无调制
UCB0CTL1 &=~UCSWRST;//**初始化 USCI 状态机**
UCB0IE |= UCTXIE;//接收中断使能
}
空 SPI_Tx (字符字节数据)
{
P2OUT &=~BIT7;//低电平有效以进行启动通信
UCB0TXBUF =字节数据;//发送第一个字符
//if (UCB0TXBUF!=字节数据)
while (!(UCB0IFG&UCTXIFG));//保持直到传输完成
P2OUT |= BIT7;//用于终端通信的高电平有效
}
我是一个新手、时间不长。 我们非常感谢您的帮助。
提前感谢。