在“线程:ADS8363”中讨论的其他部件
我想生成两 个PWM波形, 其中一个是最后的时钟,我需要与ADS8363通信,但由于正常SPI不工作,我想知道如何生成同步波形(并且具有少量相位差),以便我可以使用一个PWM波形CLK来连续触发其他PWM RD/CONVST )。我正在尝试使用MSP中的TA_0和TA_1。
请您提供一些非常有用的示例代码吗?我尝试从外部将一个PWM发送到另一个PWM,但我没有收到。
抱歉,如果有任何错误(拼写错误)。
此致
安摩尔
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.
我想生成两 个PWM波形, 其中一个是最后的时钟,我需要与ADS8363通信,但由于正常SPI不工作,我想知道如何生成同步波形(并且具有少量相位差),以便我可以使用一个PWM波形CLK来连续触发其他PWM RD/CONVST )。我正在尝试使用MSP中的TA_0和TA_1。
请您提供一些非常有用的示例代码吗?我尝试从外部将一个PWM发送到另一个PWM,但我没有收到。
抱歉,如果有任何错误(拼写错误)。
此致
安摩尔
谢谢您先生,很抱歉您的回复太晚了。
我能够将PWM的波形之一转换为CLK,另一个是PD/CONVST,我使用CLK作为另一个PWM的外部源,
先生我正在从模式下使用MSP,我正在尝试 从ADC ADS 8363 EVM接收数据,我可以在范围内看到输出,但SPI每次读数为零, 但是 ,它以前一直读0xff,我猜这是NOP,但UCBUSY状态总是很高。即使在传输数据和接收之后。 我正在MODE0中使用它。我正在尝试使用它与ADC连接。请给出一些建议。请注意,我正在检查TX和UCRX中断标志。将数据写入缓冲区时。
//************** INI代码**************************
P3SEL || BIT3+BIT4;// WFP 3.3 ,4选项选择
P2SEL || BIT7;// WFP 2.7 选项选择
UCA0CTL1 |= UCSWRST;//**将状态机置于复位**
UCA0CTL0 |= UCSYNC+UCMSB;// 3引脚,8位SPI从属,在下降沿上捕获
UCA0CTL0 &=~UCCMST;
//时钟极性高,MSB
UCA0CTL1 |= UCSSEL_2;// SMCLK
UCA0BR0 = 0x08;///8
UCA0BR1 = 0;//
UCA0MCTL = 0;//无调制
UCA0CTL1 &=~UCSWRST;//**初始化USCI状态机**
UCA0IE |= UCRXIE;//启用USI_A0 RX中断
//************** 变速器代码**************************
UCA0TXBUF = reg1;
同时(!(UCA0IFG&UCTXIFG));
同时(!(UCA0IFG&UCRXIFG));
Data1 = UCA0RXBUF;
请指出任何错误或建议。我正在尝试在调试模式下对其进行分析。
此致,
安摩尔
感谢先生的早日答复
是的,我正在 用时钟喂食WFP 2.7 , 当我循环SOMI和SIMO引脚时,我正在获取传递的数据。这清除了时钟在范围内,我不确定SPI从属模式中的时钟范围。时钟极性和相位正常。我习惯使用RX TX BUF 中断标志我后来检查了UCBUSY位,当我在资源管理器中尝试示例程序时。由于我不需要但只是为了加载数据,我需要这些RX TX BUF。
我正在附加一个示波器图像,参考:黄色:CLK;蓝色:RD/CONVST;绿色数据( MSP的数据)。
EDIT1: 我在 一个函数中运行整个位加载(传输),我在无限循环中将其调用到main函数中,当我输入调用这些语句的函数时,我错误地将UCBUSY检查为获得0,但当我返回到时 主功能状态更改为1。这听起来很奇怪,我无法了解其原因。我在下面附加了一些卡扣:Th
还有一件事我忘记了COE标志没有重置(在传输功能中连续设置)。即使在将RXBUF分配给变量后,我甚至进行了2次虚拟读取以检查它是否重置。我希望在这个问题中有这样的线索。
如果有任何错误,请表示抱歉。
此致
安摩尔
大家好,我已经检查了我是否启用了SPI RX TX BUF中断。我在调试模式中检查了,之后
__bis_sr_register(LPM0_bits+GIE);//输入LPM0,启用interrup
控制流立即流向ISR。
是的,TAIV必须持续到14岁,但我必须使用"2",所以我认为这不是这种行为的原因。
我还检查了带有中断的计时器的资源管理器代码,这些代码在它们完成main()之后也需要一些时间。
此致
安摩尔
编辑:我得到了该中断工作,因为SPI TX RF BUF中断。
但我仍然无法读取 ADC的SDOx。我尝试了一些方法,但仍然很远。