首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Teensy作为串行设备

Teensy作为串行设备
EN

Stack Overflow用户
提问于 2021-01-15 17:41:08
回答 1查看 137关注 0票数 0

我正在使用teensy 3.2对它的K20系列微控制器Mk20DX256进行编程。我写了一个简单的通用异步收发器代码来将字符'U‘从teensy传输到PC,并在Docklight.I上看到它。我已经禁用了中断和DMA

我在网上搜索过,发现Teensy只有在运行Serial类型的代码时才充当串口,否则它就充当USB端口

我将' hello‘示例从arduino上传到主板,并选择Usb串行端口。在串行monitor.the设备上打印hello在硬件管理器的COM端口中检测到

但是,当我尝试将从keil生成的十六进制文件编程到电路板上时,硬件管理器中的Com端口选项从端口消失,这意味着我的代码不是串行类型

代码语言:javascript
复制
#include "MK20D7.h"

void UARTPutChar(char);

int main()
{
    
    SIM->SCGC4=1UL<<10; //Clock Enable Uart0
    SIM->SCGC5 =1UL<<12;//Enable GPIO PORT A clock
    UART0->C2=0X00;         //Disable UART 
    PORTD->PCR[7]=  0x00000300;     //Port pin declare as UART0TX
    UART0->BDH=0x01;    //
    UART0->BDL=0xD4;
    UART0->C1=0X00;
    UART0->C3=0X00; 
    UART0->S2=0X20;
    UART0->S1=0X40;
    UART0->C2=0X08; //Enable UART0
     while(1)    
  {        
       UARTPutChar('U');
   
  }

}

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

任何人请指点我做错了什么。

EN

回答 1

Stack Overflow用户

发布于 2021-01-15 23:19:24

如果您使用Arduino为Teensy编译,构建系统将链接到Teensyduino核心库中,该库包含一个工作的USB堆栈。具体来说,默认情况下,它会将其配置为CDC设备(虚拟串行端口)。

如果您使用Keil进行编译,我假设您需要告诉IDE您希望在USB堆栈中进行链接,以及您希望如何配置它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65733720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档