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.

msp430f6659 usb cdc类的速率问题

Other Parts Discussed in Thread: MSP430F6659

我用的msp430f6659和f5529 测试的usb的速率都是16KB/s,请问这个速率是不是和时钟有关系的,怎么设置才能提高到200K-300K呢?

  • 是的,和时钟频率有关。

    msp430的usb模块,集成可编程锁相环(PLL),可以为USB操作提供高精度低抖动的48MHZ的时钟。你是不是没使用PLL?

  • 你好  很感谢你的回复      现在没有配置时钟  用的时钟是开发包里配置好    自己配置了一个时钟   找不到端口号了怎么回事啊?

    这段程序是开发包里的

    *void initClocks(uint32_t mclkFreq)
    {
    #ifndef DRIVERLIB_LEGACY_MODE
    UCS_clockSignalInit(
    UCS_FLLREF,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_clockSignalInit(
    UCS_ACLK,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_initFLLSettle(
    mclkFreq/1000,
    mclkFreq/32768);
    #else
    UCS_clockSignalInit(
    UCS_BASE,
    UCS_FLLREF,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_clockSignalInit(
    UCS_BASE,
    UCS_ACLK,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_initFLLSettle(
    UCS_BASE,
    mclkFreq/1000,
    mclkFreq/32768);
    #endif

    这个是自己写的  找不到端口号了

    void initClocks()
    {
    UCS_setExternalClockSource(32768,19200000);
    UCS_XT1Off();
    UCS_XT2Start(UCS_XT2DRIVE_16MHZ_24MHZ);
    UCS_initFLLSettle(19200,1);

    UCS_enableClockRequest(UCS_MCLK);



    }

  • 你好  很感谢你的回复      现在没有配置时钟  用的时钟是开发包里配置好    自己配置了一个时钟   找不到端口号了怎么回事啊?

    这段程序是开发包里的

    *void initClocks(uint32_t mclkFreq)
    {
    #ifndef DRIVERLIB_LEGACY_MODE
    UCS_clockSignalInit(
    UCS_FLLREF,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_clockSignalInit(
    UCS_ACLK,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_initFLLSettle(
    mclkFreq/1000,
    mclkFreq/32768);
    #else
    UCS_clockSignalInit(
    UCS_BASE,
    UCS_FLLREF,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_clockSignalInit(
    UCS_BASE,
    UCS_ACLK,
    UCS_REFOCLK_SELECT,
    UCS_CLOCK_DIVIDER_1);

    UCS_initFLLSettle(
    UCS_BASE,
    mclkFreq/1000,
    mclkFreq/32768);
    #endif

    这个是自己写的  找不到端口号了

    void initClocks()
    {
    UCS_setExternalClockSource(32768,19200000);
    UCS_XT1Off();
    UCS_XT2Start(UCS_XT2DRIVE_16MHZ_24MHZ);
    UCS_initFLLSettle(19200,1);

    UCS_enableClockRequest(UCS_MCLK);



    }