All Projects → saewave → Stm32f103 Usb Cdc Cmsis

saewave / Stm32f103 Usb Cdc Cmsis

Licence: gpl-3.0
STM32F103 USB CDC CMSIS

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Stm32f103 Usb Cdc Cmsis

Dirtyjtag
JTAG probe firmware for STM32F1
Stars: ✭ 183 (+357.5%)
Mutual labels:  firmware, usb, stm32
kikpad
KiKPad : the Midiplus SmartPad reinvented !
Stars: ✭ 31 (-22.5%)
Mutual labels:  usb, firmware, stm32
sympetrum-v2
A communicative piece of wearable electronics.
Stars: ✭ 22 (-45%)
Mutual labels:  firmware, stm32
flipperzero-firmware
Flipper Zero firmware source code
Stars: ✭ 2,551 (+6277.5%)
Mutual labels:  firmware, stm32
STM32 XPD
STM32 eXtensible Peripheral Drivers
Stars: ✭ 38 (-5%)
Mutual labels:  usb, stm32
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (+115%)
Mutual labels:  usb, stm32
STM32 USB CH341
STM32 USB simulates CH341.
Stars: ✭ 52 (+30%)
Mutual labels:  usb, stm32
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (+0%)
Mutual labels:  firmware, stm32
FASTUSBasp
This is the fast avr programmer for AVR MCUs based on cheap stm32f103c8t6 board with usb-to-serial support.
Stars: ✭ 78 (+95%)
Mutual labels:  firmware, stm32
Teenyusb
Lightweight USB device and host stack for STM32 and other MCUs.
Stars: ✭ 287 (+617.5%)
Mutual labels:  usb, stm32
OtterPill
stm32f072 dev board with arduino nano alike pinout
Stars: ✭ 127 (+217.5%)
Mutual labels:  firmware, stm32
Keyberon
A rust crate to create a pure rust keyboard firmware.
Stars: ✭ 355 (+787.5%)
Mutual labels:  firmware, usb
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (+37.5%)
Mutual labels:  usb, stm32
Modbus-STM32-HAL-FreeRTOS
Modbus TCP and RTU, Master and Slave for STM32 using Cube HAL and FreeRTOS
Stars: ✭ 272 (+580%)
Mutual labels:  usb, stm32
stm32-usb-bootloader
This repository contains bootloader for stm32f1xx microcontrollers. It works for stm32f103ret6, but you can simply adopt it to any MCU supporting STM32 HAL library with USB and SD-card
Stars: ✭ 40 (+0%)
Mutual labels:  usb, stm32
stm32 tiny monitor
A tiny external monitor for PC using STM32 and ST7789. Connects to PC over USB and displays the captured screen on ST7789 (240x240) display.
Stars: ✭ 61 (+52.5%)
Mutual labels:  usb, stm32
Stm32 Bootloader
Customizable Bootloader for STM32 microcontrollers. This example demonstrates how to perform in-application-programming of a firmware located on an external SD card with FAT32 file system.
Stars: ✭ 541 (+1252.5%)
Mutual labels:  firmware, stm32
f1usb
Einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken
Stars: ✭ 27 (-32.5%)
Mutual labels:  usb, stm32
DfuBootloader
STM32 USB device bootloader using DFU class interface
Stars: ✭ 79 (+97.5%)
Mutual labels:  usb, stm32
OpenWare
Firmware for OWL devices
Stars: ✭ 23 (-42.5%)
Mutual labels:  firmware, stm32

STM32F103-USB-CDC-CMSIS

STM32F103 USB CDC CMSIS provires a simple low weight firmware for STM32F1 serie to implement Virtual Com Port. Current implementation create Virtual Com Port with next settings: 115200, 0, none, 8, but you can change these settings as you want.

How to use

  • Add usblib.c and usblib.h to your project.
  • Make sure you have configured USB to 48 MHz clock and RCC to 48 MHz or more (72 MHz is recomended).
  • It's strongly recomended to use 1,5K GPIO driven pull-up rezistor to have full controll of USB line initiate sequence.
  • Call USBLIB_Init(); to enable USB and make initial configuration of USB registers. Please note - USBLIB_Init(); will trigget USB RESET sequence.
  • Enable 1.5K pull-up resistor to allow host detect device connection.
    • If your device connected to Windows host use RemoteSwitchHUB.inf to install a default Windows driver. After installation you will see new COM port named RemoteSwitch HUB (If you want to change this name you need to edit it in usblib.c and inf files).
    • If your device connected to Unix systems then you will see a new device in /dev/ dir.
  • Implement void uUSBLIB_LineStateHandler(USBLIB_WByte LineState) in your code to handle line state. See main.c for example. NOTE: you can't send any data to host when port is closed! To controll when port is opened use this condition:
if (LineState.L) {      //App connected to the virtual port
    USBLIB_Transmit((uint16_t *)"Welcome to the club!\r\n", 22);
}
  • Inplement void uUSBLIB_DataReceivedHandler(uint16_t *Data, uint16_t Length) in your code to accept data from host. See main.c f.e.

Code well tested on Windows7, MacOS 10.13 (High Sierra) and Raspbian OS.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].