saewave / Stm32f103 Usb Cdc Cmsis
Licence: gpl-3.0
STM32F103 USB CDC CMSIS
Stars: ✭ 40
Programming Languages
c
50402 projects - #5 most used programming language
Projects that are alternatives of or similar to Stm32f103 Usb Cdc Cmsis
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
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
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
andusblib.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 namedRemoteSwitch HUB
(If you want to change this name you need to edit it inusblib.c
andinf
files). - If your device connected to Unix systems then you will see a new device in /dev/ dir.
- If your device connected to Windows host use
- Implement
void uUSBLIB_LineStateHandler(USBLIB_WByte LineState)
in your code to handle line state. Seemain.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. Seemain.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].