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.

[参考译文] MSP-EXP430FR2433:来自 driverlib 的 UART 和 SPI 示例不能协同工作

Guru**** 2040210 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1067504/msp-exp430fr2433-uart-and-spi-examples-from-driverlib-don-t-work-together

部件号:MSP-EXP430FR2433
《线程:MSP430WARE》中讨论的其他部件

问题:我想在 UCA0上使用 UART,在 UCA1上使用 SPI。 已加入 driverlib 库中的示例。 SPI 初始化后,UART 开始工作不正常。

代码:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "driverlib.h"
#include "Board.h"
#include "stdio.h"
#define STR_LEN 100
char str[STR_LEN];
uint8_t RXData = 0;
uint8_t check = 0;
void initClocks(void);
void initGpio(void);
void initSPI(void);
void sendUartMsg(char* str);
void initUart(void);
uint8_t stringLength(char* str);
void main(void)
{
//Stop Watchdog Timer
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

CCS 版本: 11.0.0.00012

操作系统:Ubuntu

提前预订泰纳克;)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否为 SPI 创建了中断服务例程?

    启用 SPI 后,我们预计它将触发 TX 中断,从而导致无法预测的行为。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我对 MCU 的编码非常熟悉。 定义不行动是否足够? 问题未解决。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
    #pragma vector=USCI_A1_VECTOR
    __interrupt
    #elif defined(__GNUC__)
    __attribute__((interrupt(USCI_A1_VECTOR)))
    #endif
    void USCI_A1_ISR(void)
    {
    switch(__even_in_range(UCA1IV, USCI_SPI_UCTXIFG))
    {
    case USCI_SPI_UCRXIFG:
    __delay_cycles(2);
    break;
    case USCI_SPI_UCTXIFG:
    __delay_cycles(2);
    break;
    default:
    break;
    }
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     无法对#include "Board.h"的文件进行微调,能否在此处上载该文件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它来自目录/home/<user>/ti/msp430ware_3_80_14_01/driverlib/examples/MSP430FR2xx_4xx。

    Board.h: https://drive.google.com/file/d/1iVkMAHYh2amcJGm1JpS0sFJkizbONoaP/view?usp=sharing

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我可以在 google 驱动器中访问该文件。 您可以直接在此处上传项目吗? 为什么要使用驱动程序库? 我建议使用更易于阅读的注册级别代码。