微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 UART 接收到错误的字符?

如何解决从 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 举报,一经查实,本站将立刻删除。