STM32F0-发现:没有tty

STM32F0-Discovery: no tty

我目前正在尝试通过 USART 向我的 STM32F0308 板发送数据。 数据应该由使用 PySerial 的 Python 脚本发送。

但是我插板子的时候找不到对应的/dev/ttyXXXX。

电路板有分支,我可以在上面刷写代码(通过 USB 的 STLink),但是看不到端口。

dmesg说明电脑知道板子:

[10364.101554] usb 1-3: USB disconnect, device number 10
[10368.044231] usb 1-3: new full-speed USB device number 12 using xhci_hcd
[10368.173948] usb 1-3: New USB device found, idVendor=0483, idProduct=3748
[10368.173956] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10368.173959] usb 1-3: Product: STM32 STLink
[10368.173962] usb 1-3: Manufacturer: STMicroelectronics
[10368.173965] usb 1-3: SerialNumber: VÿnIxRT68\xffffffc2\xffffff87

这是 lsusb 的输出:

Bus 001 Device 012: ID 0483:3748 STMicroelectronics ST-LINK/V2

这是 ls /dev/tty* 的输出:

tty    tty12  tty17  tty21  tty26  tty30  tty35  tty4   tty44  tty49  tty53  tty58  tty62  ttyprintk  ttyS12  ttyS17  ttyS21  ttyS26  ttyS30  ttyS7
tty0   tty13  tty18  tty22  tty27  tty31  tty36  tty40  tty45  tty5   tty54  tty59  tty63  ttyS0      ttyS13  ttyS18  ttyS22  ttyS27  ttyS31  ttyS8
tty1   tty14  tty19  tty23  tty28  tty32  tty37  tty41  tty46  tty50  tty55  tty6   tty7   ttyS1      ttyS14  ttyS19  ttyS23  ttyS28  ttyS4   ttyS9
tty10  tty15  tty2   tty24  tty29  tty33  tty38  tty42  tty47  tty51  tty56  tty60  tty8   ttyS10     ttyS15  ttyS2   ttyS24  ttyS29  ttyS5
tty11  tty16  tty20  tty25  tty3   tty34  tty39  tty43  tty48  tty52  tty57  tty61  tty9   ttyS11     ttyS16  ttyS20  ttyS25  ttyS3   ttyS6

这是我初始化串口的函数:

#function to initialize the serial port
def init_serial():
    global ser    #must be declared in each function
    #set serial: port, baudrate, timeout (port does not hang)
    ser = serial.Serial(port="/dev/ttyS3", baudrate=9600, timeout=5)
    if ser.isOpen():
        ser.close()
    #open the serial port
    ser.open()          
    #print: port is open or closed
    if ser.isOpen():
        print("Port open: " + ser.portstr)
    else:
        print("Port not open: We have a problem!")
#function ends here

我正在使用 Ubuntu 15.04,但它也无法在另一台使用 Debian 的计算机上运行。 据ST称,STM32F0x0线支持USB。

编辑: 根据要求,lsusb -v:

的输出
Bus 001 Device 003: ID 0483:3748 STMicroelectronics ST-LINK/V2
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0483 STMicroelectronics
  idProduct          0x3748 ST-LINK/V2
  bcdDevice            1.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0

设备被发现,它是一个 ST-Link 调试接口。

STM32F0308-Discovery 没有 USB UART 接口,据我所知,ST-Link 不包含 UART 功能。如果没有额外的硬件,您尝试做的事情似乎是不可能的。您必须获得带有单独连接器的 USB UART 接口之一,并将其​​连接到接头上暴露的 USART 引脚。