请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5659 工具与软件:
您好!
我可能走错了路,但这是什么家伙。
我必须等待外部时钟的89个上升沿、然后才能继续运行程序。 时钟的频率约为250kHz。
该信号目前在端口6.4上、仍可用于我的控制器上的 COMP_B。
继续的最佳方式是什么? 可能可以切换到另一个引脚、但我希望避免这种情况。
提前感谢
Stefan
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.
工具与软件:
您好!
我可能走错了路,但这是什么家伙。
我必须等待外部时钟的89个上升沿、然后才能继续运行程序。 时钟的频率约为250kHz。
该信号目前在端口6.4上、仍可用于我的控制器上的 COMP_B。
继续的最佳方式是什么? 可能可以切换到另一个引脚、但我希望避免这种情况。
提前感谢
Stefan
我告诉你,我走错了轨道。
#include <msp430.h> void main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer // Configure P6.4 as input P6DIR &= ~BIT4; // Set P6.4 as input P6REN |= BIT4; // Enable pull-up resistor P6OUT |= BIT4; // Set pull-up resistor // Initialize variables unsigned int lastState = 0; unsigned int edgeCount = 0; // Main loop while (1) { // Read the current state of P6.4 unsigned int currentState = (P6IN & BIT4) >> 4; // Check for rising edge if (currentState == 1 && lastState == 0) { edgeCount++; } // Update the last state lastState = currentState; // Check if 89 edges are detected if (edgeCount == 89) { // Take action when 89 edges are detected edgeCount = 0; // Reset the counter if needed } } }
我想我自己已经解决了这个问题