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.

[参考译文] MSPM0G3507:MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1487066/mspm0g3507-mspm0g3507

器件型号:MSPM0G3507

工具与软件:

尊敬的支持部门:

我在 MSPM0G3507控制器中读取 RXDATA UART0时遇到问题。 下面是我的代码。

void UART0_DIS_INST_IRQHandler (void)
{  
  uint8_t byteReceived = 0x00  ;   
  开关(DL_UART_Main_getPendingInterrupt (UART0_DIS_INST))
  {   
    案例 DL_UART_MAIN_IIDX_EOT_DONE:
      usart0_all_data_transmitted = true   //传输所有数据
      休息;           
    案例 DL_UART_MAIN_IIDX_TX:
      usart0_data_transmitted = true//经过第一个相位       
      休息
    案例 DL_UART_MAIN_IIDX_RX:
      usart0ReceiveInProgress = true   ;
      while (!(DL_UART_isRXFIFOEMpty (UART0_DIS_INST))//检查中是否有任何字节可用于读取
      {
        DL_GPIO_toggletPins (GPIOA_PORT、GPIOA_BYPASS_ON_LED_PIN)  ; //
        usart0_rxData[usart0_rxCounter]= DL_UART_receiveData (UART0_DIS_INST)      ;
        if (usart0_rxData[0]=> 0x01)
        {
          DL_GPIO_setPins (GPIOA_PORT、GPIOA_FAULT_LED_PIN)  ; //启用最大485传输
        }
        usart0_rxCounter++        ;
      }
      休息;                
    默认值:     
      休息;   
  }

在中断模式下、我是在检查 FIFO 状态后读取接收数据。 我没有获取实际接收到的数据。 我的接收 FIFO 中断启用>= 2级别。  在每个字节上切换 GPIOA_BYPASS_ON_LED_PIN 会尝试读取。

但 从未设置 GPIO_FAULT_LED_PIN。 接收数据的第一个字节为0x01。

我认为 " DL_UART_receiveData (UART0_DIS_INST)      "有一些问题。 欢迎使用 Ant 建议。

此致

图尔西·达斯

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

    基本 UART echo 示例是否可以正常工作?

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

    您好!

    驱动程序库函数在发布前已经过测试。 因此、我认为该问题与 DL_UART_receiveData ()无关。 我还建议先在 SDK 中尝试使用演示。  

    此致、

    Cash Hao