A software serial driver package by using the hardware timer capture / comparison functionality.

Soft serial

1.简介

Soft serial 是利用硬件定时器捕获/比较功能实现软件模拟串口的软件包。

1.1目录结构

Soft serial 软件包目录结构如下所示:

soft_serial
├───inc                             // 头文件目录
│   |   soft_serial.h               // API接口头文件
│   |   soft_serial_stm32f103rc.h   // 驱动配置头文件,芯片stm32f103rc
│   └───soft_serial_stm32f103ze.h   // 驱动配置头文件,芯片stm32f103ze
├───src                             // 源码目录
│   └───soft_serial.c               // 示例模块
│   license                         // 软件包许可证
│   readme.md                       // 软件包使用说明
└───SConscript                      // RT-Thread 默认的构建脚本

1.2许可证

Soft serial package 遵循 LGPLv2.1 许可,详见 LICENSE 文件。

1.3依赖

  • RT_Thread 4.0

2.使用

2.1接口函数说明

int ss_scoms_init(void);

  • 功能 :软件串口初始化,默认情况下此函数由系统自动调用,用户可不用显式调用
  • 参数 :无
  • 返回 :0--成功,其它--错误

2.2特别说明

软件串口初始化函数int ss_scoms_init(void),默认情况下由系统自动调用,用户不必调用,只有在关闭系统自动初始化功能情况下,才须用户显式调用。

2.3获取组件

  • 方式1: 通过 Env配置工具RT-Thread studio 开启软件包,根据需要配置各项参数;配置路径为 RT-Thread online packages -> peripherals packages -> soft serial

2.4配置参数说明

参数宏 说明
SS_TIM_CLK_FREQ 硬件定时器工作时钟频率,注:此频率与系统时钟频率共同决定了软件串口波特率上限
SS_TIM_PCLK1_MUL APB1时钟外设的时钟倍频系数
SS_TIM_PCLK2_MUL APB2时钟外设的时钟倍频系数
SS_CHK_RX_BEGIN_BIT 使用接收开始位检测,当波特率较高时,不推荐开启
SS_CHK_RX_PARITY 使用接收校验位检测,不推荐开启

3. 联系方式

Similar Resources

x64 Windows kernel driver mapper, inject unsigned driver using anycall

x64 Windows kernel driver mapper, inject unsigned driver using anycall

anymapper x64 Windows kernel driver mapper, inject unsigned driver using anycall This project is WIP. Todo Fix: Can't make API calls from IAT nor func

Dec 26, 2022

Linux kernel platform driver for ASUSTOR NAS hardware (leds, buttons)

asustor-platform-driver Linux kernel platform driver for ASUSTOR NAS hardware (leds, buttons). On many systems, ASUSTOR uses a mix of IT87 and CPU GPI

Nov 22, 2022

Filter driver which support changing DPI of mouse that does not support hardware dpi changing.

Custom Mouse DPI Driver 하드웨어 DPI 변경이 불가능한 마우스들의 DPI 변경을 가능하게 하는 필터 드라이버 경고: 해당 드라이버는 완전히 테스트 되지 않았습니다 Install 해당 드라이버는 서명이 되어있지않습니다. 드라이버를 사용하려면 tests

Sep 23, 2022

LCD capture for Rigol DS1074 using UVC on Cypress FX3

UVC Scope Stream LCD screen of your Rigol DS1074 using UVC to your PC. UVC video capture This repository contains source code for Cypress FX3 UVC vide

Nov 19, 2022

A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth.

A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth.

Bluetooth-System-Monitor A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth and thus giving

Dec 22, 2022

Open source hardware design and software for OpenPodcar.

Open source hardware design and software for OpenPodcar.

OpenPodcar Open Source Hardware Design and Software for OpenPodcar. OpenPodcar_obstacle_avoidance_INB_Atrium.mov Table of Contents I. General Info II.

Jul 8, 2022

A guide that teach you build a custom version of Chrome / Electron on macOS / Windows / Linux that supports hardware / software HEVC decoding.

enable-chromium-hevc-hardware-decoding A guide that teach you build a custom version of Chrome / Electron on macOS / Windows / Linux that supports har

Jan 1, 2023

Simple min heap timer

KTimer simple useable heap timer . Samples #include "ktimer.h" ktimer::KTimerstd::chrono::seconds, std::mutex myTimer ; //default ktimer::KTimer

Nov 25, 2022

Timer for advanced LED blinking for Arduino

TimerLED Timer for advanced LED blinking for Arduino (millis()-based) Compatibility Compatible with all Arduino platforms Dependencies TimerMs Install

Oct 20, 2021
The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print.
The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print.

MqttPrint and MqttMonitor The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print. MqttPr

Sep 28, 2022
Dec 15, 2022
Using D2XX driver to capture UART data to a binary file

What is it This is the sample code to read UART data using any baud rate that FTDI supports and save them to a binary file. How to use Usage: ./larger

Nov 24, 2021
Software for the best kitchen timer.
Software for the best kitchen timer.

kitchen timer The summer of 2021 I finally got fed up with my crappy ikea kitchen timer and decided to build my own. You can find a build log in this

Oct 10, 2022
Loads a signed kernel driver which allows you to map any driver to kernel mode without any traces of the signed / mapped driver.
Loads a signed kernel driver which allows you to map any driver to kernel mode without any traces of the signed / mapped driver.

CosMapper Loads a signed kernel driver (signed with leaked cert) which allows you to map any driver to kernel mode without any traces of the signed /

Jan 2, 2023
This FreeRTOS example builds a simple Timer application for Linux using the ESP-IDF

Supported Targets Linux This FreeRTOS example builds a simple Timer application for Linux using the ESP-IDF. Build Source the IDF environment as usual

Apr 4, 2022
Not related to software bugs and exploits; this repo contains snippets of code that demonstrate some interesting functionality or a handy trick.

Proof-of-Concept Not related to software bugs and exploits; this repo contains snippets of code that demonstrate some interesting functionality or a h

Nov 19, 2022
Web to Desktop framework comparison

Web to Desktop framework comparison This repository was made to create an objective comparison of multiple framework that grant us to "transform" our

Dec 29, 2022
Isaac ROS image_pipeline package for hardware-accelerated image processing in ROS2.

isaac_ros_image_pipeline Overview This metapackage offers similar functionality as the standard, CPU-based image_pipeline metapackage, but does so by

Dec 15, 2022
TelloTalent Robomaster TT hardware package for programming the esp32 included with it

TelloTalent esp32 for arduino IDE TelloTalent Robomaster TT hardware package for programming the esp32 included with it Notes All this files are extra

Jun 30, 2022