从 UART 接收到错误的字符?

问题描述

我是 Cortex M4 编程的新手 我正在使用 teensy 3.2 板。我已使用 USB 转 TTL 电缆将其连接到 PC。我编写了一个代码来将字符从 Teensy UART 传输到 PC。我使用 Dockight 作为终端。 对于 72MHZ 系统时钟,波特率为 9600,具有 8 个数据位、1 个起始位、1 个停止位和无奇偶校验位。 我已禁用中断和 DMA 这是我的代码

   #include "MK20D7.h"


void UARTPutChar(char);

int main()
{
    
    SIM->SCGC4=1UL<<10; //Clock Enable Uart0
    SIM->SCGC5 =1UL<<12;//Enable GPIO PORT D clock
    UART0->C2=0X00;         //disable UART Tx
    PORTD->PCR[7]=  0x00000300;     //Port pin declare as UART0TX
    UART0->BDH=0x01;    //9600 baudrate 72MHz system clock
    UART0->BDL=0xEC;
    UART0->C1=0X00;
    UART0->C3=0X00; 
    UART0->S2=0X00;
    UART0->S1=0X00;
    UART0->C2=0X08; //Enable UART0 Tx
     while(1)    
  {   
            
       UARTPutChar('A');
   
  }

}

void UARTPutChar(char ch)
{
    //if(UART0->S1  == 0X40)
    //{
        
        UART0->D=ch;
    //}
}

我已经正确配置了 Docklight 设置,但我没有收到我传输的字符 这是我得到的enter image description here 而我应该收到“A”的 Ascii。我让自己让传输空标志不用于检查。 当我使用 S1 状态标志时,没有任何信息传输到 PC。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)