您好!
我在独立器件中复位 MSP430G2553时遇到问题。 它不启动。 Launchpad 没有问题。
当我测量 RESET 引脚上的电压时、电压为2.86V、但我预计为3.3V。
在 I 下连接 了复位信号的示波器。 黄色为/RST 引脚、蓝色为 VCC 引脚。
这里有什么问题?
谢谢、
Dmitry
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.
您好!
我在独立器件中复位 MSP430G2553时遇到问题。 它不启动。 Launchpad 没有问题。
当我测量 RESET 引脚上的电压时、电压为2.86V、但我预计为3.3V。
在 I 下连接 了复位信号的示波器。 黄色为/RST 引脚、蓝色为 VCC 引脚。
这里有什么问题?
谢谢、
Dmitry
WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器
//设置16MHz 主时钟
DCOCTL = 0;
BCSCTL1 = CALBC1_16MHz;
DCOCTL = CALDCO_16MHz;
BCSCTL3 = XCAP_1;
_delay_cycles (30000);
//setup 引脚
(笑声)
//设置 I2C
UCB0CTL1 = UCSWRST;
UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC;
UCB0CTL1 = UCSWRST + UCSSEL_2;
UCB0BR0 = 160;
UCB0BR1 = 0; //波特率100KHz
UCB0I2CSA = 0x38;//显示地址
UCB0I2CIE = UCNACKIE;
UCB0CTL1 &=~UCSWRST;
(笑声)
IE1 = WDTIE;
IE2 = UCB0TXIE;
WDTCTL = WDT_ADLY_1000;
_low_power_mode_0 ();
if (init_display()!= 0)
返回-1;
您好 Dmitry、
如果我理解正确、您不再遇到器件无法启动的问题? 现在您遇到了 I2C 和时钟设置方面的问题。 是这样吗?
有关 I2C 通信问题、请首先阅读 MSP430 MCU 上常见 eUSCI 和 USCI 串行通信问题解决方案的第1和第5节。 此外、您是否已验证32kHz 晶体是否正常振荡? 您可以阅读 《MSP430 32kHz 晶体振荡 器》应用报告、了解有关如何使用 MSP430正确设置外部晶体的更多信息。
此致、
Caleb Overbay
感谢您的建议。
实际上从未出现过复位问题。 初始化代码在首次 I2C 通信时挂起。 我注意到32kHz 晶体振荡器根本没有启动或工作不稳定的调试。 我通过减少负载电容器并在复位后添加以下环路来修复它:
执行{
IFG1 &=~OFIFG;
_DELAY_CYCLES (1000);
} while (IFG1 & OFIFG);
它还修复了我的 I2C 初始问题。 不稳定的32kHz 振荡器是否会影响 MCU 的其他部分、例如 I2C 或 DCO?
谢谢、
Dmitry