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.
工具/软件:Code Composer Studio
您好、先生、
我不熟悉这个论坛、我有几个与在主控模式下使用 MSP430F5529进行编程相关的问题。 在我的应用中、我使用此控制器加载从 TICS PRO 软件获取的寄存器值。 我获得的值为24位长、具有1 bir r/w、7位地址、16位数据。
1) 1)如何以上述格式定义存储器空间?
2) 2)我在下面的代码中遇到了一些困难
#include
unsigned long register_values[79]
空 IOInitialate (空)
void SPI_MASTER_INITIATE (void)
void write_register (无符号长整型值)
{
SPI_Tx (((value>>>16)& 0xFF);
SPI_Tx (((value>>>8)& 0xFF);
SPI_Tx (((value>>>0)和0xFF);
}
/**
* main.c
*
int main (空)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
IOInitialate();//输入输出初始化
SPI_MASTER_INITIT();//主器件初始化
_bis_SR_register (GIE);//启用中断
返回0;
}
无符号长整型 REGISTER_VALUE[79]={0x00251C、0x010808、0x2B500、0x040A43、0x0500C80、0x06C802、0x08200、0x09160、0x0A10D、0x0B00、0x0C500、0x0D400、0x0E1000、0x1000、0x1000、0x1000、0x1000、0x1000、0x1000、0x2、0x1000、0x1000、0x2、0x1000、0x2、0x1000、0x2、0x1000、0x2、0x1000、0x2、0x2、0x1000、0x2、0x1000、0x2、0x2、0x2、0x1000、0x2、0x2、0x1000、0x2、0x2、0x1000、0x2、0x2、0x2、0x2、0x2、0x2、0x2、0x2、0x1、0x2、0x1、0x1、0x2、0x2、0x2、0x2、0x2、0x1、0x2、0x2、0x2、0x1、0x2、0x2、0x2、0x2、0x1、0x1
for (reg=0;reg<79;reg++)
{
WRITE_REGISTER (REGISTER_VALUES [REG]);
}
空 IOInitialate (空)
{
P2DIR |= BIT7;//将 P2.0设置为输出
P2OUT &=~BIT7;//默认为低电平
P3SEL |= BIT0+BIT2;// P3.0 UCA0SIMO // 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;//接收中断使能
}
uint8_t spix (uint8_t c)
{
while (!(UCB0IFG & UCTXIFG))
UCTXIFG = c;
while (!(UCB0IFG 和 UCRXIFG))
C = UCRXIFG;
返回(c);
}
主席先生,我不熟悉节目编排,请你告诉我必要的改动。
提前感谢
有人试图在以下位置执行非常类似的操作:
https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/838972/3103416#3103416
其中有一些改进建议。
未经请求:spix()函数看起来与我多年来发布过的内容类似,但经过修改,无法正常工作。 原稿也在另一个线程中。