Skip to content

Latest commit

 

History

History
718 lines (442 loc) · 43.6 KB

README.md

File metadata and controls

718 lines (442 loc) · 43.6 KB

board-stm32f103rc-berial

基于 stm32f103rct6 的开发板

硬件:https://oshwhub.com/aris.95/stm32f103rct6-core(最新)

注:HAL 工程不带固件库,需提前在 STM32CubeMX 中安装好 F1 的固件库。


例程包含:

  • 假货宝上的常用模块例程
  • ARM 数学库中的 DSP 例程
  • CMSIS-NN 神经网络例程
desc status
GPIO -
ds1302 实时时钟
dht11 湿度传感器
ds18b20 温度传感器
hx71x 24 位 ADC
matrixkey 矩阵键盘
beep 无源蜂鸣器播放音乐
UART -
esp01 wifi 模块
sim800
TIM 定时器 -
delayus 微秒级延时
ws2812 彩灯(PWM驱动)
hcsr04 超声波传感器(输入捕获)
encoder 旋转编码器(定时器模式&编码器模式)
hx1838 红外接收(输入捕获)
button 按键短按长按双击识别
WDG 看门狗
ADC 模拟量输入 -
irq 单通道中断采集
dma 单通道/多通道DMA采集
temt6000 光照传感器
s12d 紫外光传感器
pulse 脉搏传感器
sound 声音传感器
DAC 模拟量输出 -
triangle wave 三角波生成
sine wave 正弦波生成
heart-shaped wave 心形波生成
xy-mode 示波器播放动画
I2C -
i2cbus 模拟 I2C
lis3dh 3轴加速度传感器
mpu6050(euler) 加速度+陀螺仪,欧拉角输出
mpu6050(kalman) 6轴,欧拉角+卡尔曼滤波输出
mpu6050(dmp) 6轴,DMP输出
mpuxxxx 6轴(加速度+陀螺仪)
9轴(加速度+陀螺仪+地磁计)
mpu9250(dmp) 9轴,DMP输出
bmp280 大气压传感器
bme280 温湿度大气压传感器
aht10 温湿度传感器
aht20 温湿度传感器
sht30 温湿度传感器
as5600 磁编码器
hmc5883l 地磁传感器
xmc5883l 地磁传感器(HMC\QMC\VMC)
pcf8574 IO 扩展
pcf8574(lcd1602) 液晶屏
pcf8575 IO 扩展
axp173 电源管理 IC
axp192 电源管理 IC
axp209 电源管理 IC
at24cxx eeprom
ssd1306 OLED
ssd1306(animation) 太空人 / IKUN 动画
ssd1306(video) 串口数据流播放视频
ssd1306(u8g2) 移植 u8g2 图形库
max30100 心率血氧传感器
max30102 心率血氧接近传感器
max30105
pn532
tca9548 I2C 多路复用器
ina3221
ina219
adxl345
ap3216
si5351 波形发生器
tcs3472 颜色传感器
lm75 温度传感器
pca9685 多路PWM舵机控制器
mlx90614 红外测温传感器
gy614 红外测温传感器
SPI -
spibus 模拟 SPI
st7735_0.96 板载 0.96 寸屏幕
st7735_luat 合宙 1.8 寸屏幕
st7735_gfx3d 3D 图形加速
mfrc522 RFID
w25qxx FLASH
ad9833 波形发生器
ssd1306 OLED
pn532
w5500 以太网
lan8720 以太网
nrf24l01 2.4传输
mcp2551 SPI转CAN
st7789 屏幕
ws2812 彩灯
ad7705 16位ADC
epaper 合宙 1.54 寸墨水屏
I2S -
i2sbus 模拟 I2S
inmp441 麦克风
mp34dt05 麦克风
max98357 喇叭
CAN -
tj1050
vp232
FAFTS 文件系统 -
sd card(spi) TF 卡(spi 接口)
sd card(sdio) TF 卡(sdio 接口)
w25qxx(spi) 外部 flash(spi 接口)
USB -
MSC 大容量设备(U盘) -
sram 内部 SRAM 模拟 U 盘
w25qxx 外部 Flash 模拟 U 盘
rom 片上 Flash 模拟 U 盘
CDC -
虚拟串口
HID 人体学接口设备 -
keypress 模拟键盘按键
RTOS 实时操作系统 -
UCOS-II -
UCOS-III -
FreeRTOS -
task 任务
RT-Thread Nano RTT OS -
start 移植
TencentOS tiny 腾讯 OS -
start 移植
task 任务
mutex 互斥量
sem 信号量
HUAWEI LiteOS 华为 OS -
Language -
Lua -
start 移植
C++ -
最小工程
GUI -
EmberGL 2D / 3D 界面库
LittleVGL / LVGL8.3 界面库
u8g2 OLED 界面库
GuiLite 界面库
ucGUI
emWin
Lib -
memory malloc ( sram 模拟 )
DSP&NN ARM数学库
├─Sin 基本测试
├─Matrix 矩阵运算
├─Conv 卷积
├─FFT 傅里叶变换
├─SVM 支持向量机
├─Gaussian Naive Bayes 高斯贝叶斯分类
├─Biquad Cascade Filter 双二阶级联滤波器
├─Interpolation 插值
├─PID PID控制
├─Kalman Filter 卡尔曼滤波
├─Adaptive Filter 自适应滤波
├─DCT 离散傅里叶变换
├─Clarke 克拉克变化
├─QLearn 强化学习
├─Genetic Algorithm 遗传算法
├─Inductive Learning 归纳学习
├─Ant Colony Optimization 蚁群算法
├─Linear Regression 线性回归
├─Convolutional Neural Network 卷积神经网络CNN
└─Recurrent Neural Network 循环神经网络RNN
  • 电机控制:FOC、BLDC、SVPWM
  • GUI:LVGL,emWin,GuiLite,Pico3D
  • 数据结构:链表、队列、堆、栈、哈希表、二分法

TODO:

https://gitee.com/zhengnianli/EmbedSummary

https://github.com/zhengnianli/EmbedSummary

1、OS

鸿蒙OS: 一款面向全场景的开源分布式操作系统。

RT-Thread:一款小而美的物联网操作系统。

TencentOS tiny:一款面向物联网领域开发的实时操作系统。

freertos: 一个轻量级的操作系统。

µC/OS :一个功能齐全的嵌入式操作系统。

Azure RTOS:Azure RTOS 是一个嵌入式开发套件。

eventos-nano:一个超轻量级嵌入式开发框架,事件驱动,占用资源小,可运用于各型单片机。

zephyr:Zephyr 是 Linux 基金会推出的一个适用于物联网的小型可伸缩的实时操作系统。

mbed-os :ARM自己打造、主打IoT的一整套软件解决方案 。

BabyOS: 专为MCU项目开发提速的代码框架 。

LuatOS : LuatOS是运行在嵌入式硬件的实时操作系统,只需要少量内存的flash空间就能运行,用户编写lua代码就可完成各种功能。

Contiki-OS: 一个小型的,开源的,极易移植的多任务操作系统。

DJYOS: 都江堰操作系统。

klite : 简洁易用的嵌入式操作系统内核。

lmosem : 一个完全从第一行引导代码开始编写,基于ARM平台,支持多进程、多CPU、内存管理、文件与设备管理的全32位操作系统内核。

freenos:FreeNOS微内核操作系统。

ros:机器人操作系统。

openwrt:openwrt文档。

cola_os:300行代码实现多任务管理的OS。

MS-RTOS: Micro Safe RTOS 。

更多资源敬请期待......

2、实用库 / 框架

ametalametal:AMetal是芯片级的裸机软件包,定义了跨平台的通用接口。

Melon:一个用于简化开发的 C 框架库。

zlog:一个高可靠性、高性能、纯C日志函数库。

EasyLogger:一款超轻量级、高性能的 C/C++ 日志库。

Smartlink:Linux上实现的smartconfig。

airkissOpen :腾讯airkiss协议解析库 。

CodeBrick:一种无OS的MCU实用软件管理系统。

RIL:一款专门为嵌入式平台开发的无线通信模块(GSM/GPRS/CatM1/NB)管理框架。

cJSON:一个基于C语言的轻量级的JSON解析库。

jsmn:一个小巧的基于C语言的JSON解析库。

inih: C 语言编写的 INI 文件解析器。

MultiTimer : 一个软件定时器扩展模块。

MultiButton: 一个小巧简单易用的事件驱动型按键驱动模块。

SmartTimer : 一个轻量级的基于STM32的定时器调度器 。

FlexibleButton:一个基于标准 C 语言的小巧灵活的按键处理库。

CmBacktrace : 一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪库。

EasyLogger:一款超轻量级、高性能的 C/C++ 日志库。

limlog :一款超轻量级、高性能的 C/C++ 日志库。

NanoLog :一款超轻量级、高性能的 C/C++ 日志库。

EasyFlash:一款开源的轻量级嵌入式Flash存储器库 。

SFUD:一款开源的串行 SPI Flash 通用驱动库。

lw_oopc:轻量级的C语言面向对象编程框架。

PLOOC:受保护的低开销面向对象编程。

mqttclient:一个省资源、高稳定的MQTT客户端。

NorthFrame :一个单片机极简图形化状态机框架 。

letter-shell:一个功能强大的嵌入式shell。

pigweed:谷歌开源的嵌入式目标库(模块)集合。

lwrb:一个轻量级通用环缓冲区管理器库。

cQueue :使用ANSI C 编写的消息队列功能函数。

Unity:一个轻量级的、适合嵌入式的测试框架。

Embedded Unit: 是个纯标准c构建的单元测试框架。

CuTest :一款微小的C语言单元测试框, 全部代码加起来不到一千行。

cmockery: 谷歌C单元测试框架。

googletest:谷歌C++测试框架。

znfat :振南fat,国产嵌入式文件系统方案 。

libu:一个C语言写的多平台工具库。

tbox:一个用c语言实现的跨平台开发库。

toolkit:ToolKit是一套应用于嵌入式系统的通用工具包。

LWIP: 一个小型开源的TCP/IP协议栈 。

SQLite :一个开源的嵌入式关系数据库。

OpenBLT:一种开源引导加载程序。

Linux Lab : Linux 内核实验室,基于 Docker/Qemu 的极速 Linux 内核学习、开发和测试环境。

airkissOpen :腾讯airkiss协议解析库 。

mbedtls :一个开源、便携,易于使用,可读的和灵活的SSL库。

mosquittomosquitto(下载速度快):一个开源的MQTT代理。

inih:C 语言编写的 INI 文件解析器。

QP:QP实时嵌入式框架。

MS-RTOS:Micro Safe RTOS 。

protobuf-c:protobuf-c。

eepromfs: 基于EEPROM的简易类文件的数据读写库 。

gear-lib : 适用于IOT/嵌入式/网络服务开发的C库 。

mult_timer : 一个Linux下的超级精简的多重定时器 。

EFSM : 是一个基于事件驱动的有限状态机 。

EasyX:一个免费的图形库。

tbox:一个用c语言实现的跨平台开发库。

sys/queue.h:用宏实现的常用数据结构。

nanomsg:一个实现了几种“可扩展协议”的高性能通信库。

thttpd:一个简单,小型,可移植,快速且安全的HTTP服务器。

boa:一个小巧高效的web服务器。

FreeTpye :字体渲染库。

qpc :一个开源的状态机实现。

Quantum Leaps :状态机组织。

ZBar :二维码扫描工具和开发包.

FFmpeg :多媒体处理工具库.

libnabo :是一个快速为低维度空间提供K最近邻居算法库。

DSAL:是一个经典的数据结构和算法库。

FLINT :是一个数论库,用C语言编写,它包括一个非常快的多项式算法库。

LibMMSeg:中文分词软件包 。

CDS:CDS是一个 C++ 模板库,包含 lock-free and fine-grained 算法。

hashlib++:是一个简单易用的用来生成 checksum 算法。

libcstl:C语言编写的一个通用的数据结构和常用的算法库。

Botan:Botan 是一个 C++ 的加密算法库。

CGAL:计算几何算法库。

MyMediaLite:是一个轻量级的多用途的推荐系统的算法库。

cblas:提供c接口的blas库,源码通过f2c转换为C语言。f2c官网。

clapack:提供c接口的lapack库,源码通过f2c转换为C语言。

scalapack:提供并行运算的lapack库,源码用fortran编写。

armadillo:线性代数运算库,源码用c++编写。

openblas:针对intel cpu优化的blas库。

mkl:扩展的且针对intel cpu优化的库,包括快速傅立叶变换(FFT)、矢量数学库。

eigen:C++写的线性代数运算库。

libjpeg:用libjpeg库在LCD上显示图片。

x264:x264开源的解码编码库。

ws2812:ws2812驱动库。

3、GUI相关

yoxios: 基于Linux开发的轻量级物联网系统和硬件平台。

ToughGFX: 一个C++编写的GUI软件框架 。

emwin:一个老牌GUI库。

littlevGL : 一个免费的开源图形库。

野牛 LittlevGL demo:基于野牛开发板的 LittlevGL demo 程序 。

MonoGUI :一个黑白图形用户接口系统 。

MiniGUI: 一个快速、稳定、跨操作系统的GUI。

QT:跨平台的应用程序和用户界面框架。

QT_Creator:QT_Creator下载链接。

Gtk: 一个用于创造图形用户接口的图形库。

AWTK:是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架 。

玲珑GUI:玲珑GUI教程页。

std :一个嵌入式小型图形库。

CUGUI:为单片机写的GUI ,支持字体,按键,图片,滑动条。

4、项目 / 软硬结合

ElectronBot:一个桌面级小机器人。

Planck-Pi:超迷你Linux开发板。

qt_2019_ncov:基于Qt/C++实现的新冠肺炎疫情监控平台。

H7-TOOL_STM32H7_App :安富莱H7-TOOL 多功能开发工具。

the-little-bili-tv:基于esp32+lvgl8.0的哔哩哔哩小电视。

DAPLink/CMSIS DAP:一个调试器, 集成下载、调试和USB虚拟串口。

Crazepony:Crazepony开源四轴飞行器。

MiniQ :一个迷你四轴飞行器。

LiPow-Firmware:基于STM32G0采用USB type-C供电的开源锂电池充电器。

Avem: 一个轻量级无人机飞控。

esp8266-lattice-clock:Esp8266多功能点阵时钟。

SoftWareSerial:一个STM32 IO口模拟实现软件串口程序。

串口ISP程序:一个stm32串口ISP程序。

DSO_Nano :一个手持示波器。

DSView: 一个跨平台的逻辑分析仪。

MCU-Development: 基于51、430、STM32F10X、STM32F407X、T4MC123G平台的各常见硬件模块demo。

Arduino : 开源电子原型平台。

EWAHBoolArray: bitmap算法。

mcush:MCU shell。

DoST: Linux 下开发 STM32 。

Avem : 这是一个轻量级无人机飞控项目。

更多资源敬请期待......

5、资源 / 工具 / 网站 / 论坛

100ask download:百文网资料下载中心。

armfly:安富莱/硬汉嵌入式论坛。

fire download:野火资料下载中心。

openedv download:正点原子资料下载中心。

野火:野火电子论坛。

正点:正点原子论坛。

小熊猫C++ IDE:跨平台、轻量易用的开源C/C++集成开发环境。

ST:ST中文社区。

讯为开发社区:北京讯为ARM开发社区。

讯为官网:讯为官网。

NXP社区:恩智浦论坛。

Linux:Linux内核官网。

Linux源码:可在线阅读Linux内核源码。

Buildroot:buildroot源码。

Debian:Debian官网。

Ubuntu:Ubuntu官网。

BOA官网:一个单任务 web 服务器 ,可以移植到嵌入式平台。

荔枝派:荔枝派指南。

清华镜像站:清华大学开源软件镜像站。

中科大镜像站:中国科技大学镜像站。

u-boot:u-boot源码下载页面。

bear-pi:小熊派demo。

宅学部落:一个Linux、编程语言、内核、驱动开发学习网站。

单片机教程网:单片机基础、设计实例、论坛。

GNU:GNU官网。

ChinaUnix:Linux/Unix相关。

PyQt5:PyQt5教程。

qter:QT开源社区。

git手册:git学习手册。

开源项目风格:Google 开源项目风格指南 (中文版)。

电子世家:一个电子类导航网站。

21ic:21IC中国电子网。

芯路恒电子:小梅哥博客、FPGA论坛。

嵌入式开发者社区:创龙论坛。

micropython:micropython中文网。

泰晓科技:Linux相关。

电堂科技:STM32相关。

源代码使用示例聚合器: 从超过100万个开源项目搜索CPP代码示例。

KST-51 :《手把手教你学51单片机》 。

原子哥:专注电子技术教学。。

digoboy:地瓜派视频网。

c.biancheng:C语言中文网。

open-c-book :《C语言编程透视》。

PyQt5:PyQt5在线教程。

open-shell-book:《Shell 编程范例》 。

software_unit_test: 《软件单元测试入门与实践》。

kerneltravel:Linux内核之旅。

蜗窝科技:慢下来,享受技术。

bookstack:书栈网。

wireshark:抓包工具下载链接。

MobaXterm:一个好用的终端软件。

Stduino: 一款面向32位处理器快速入门学习的集成开发平台 。

easyicon:一个免费图标下载网站。

codingdict:一个类似于菜鸟教程的编程类教程网站。

codingdict开源软件:codingdict网站收集的各类开源软件集合。

C经典示例:一些C语言的实例。

xmake:轻量级跨平台C/C++构建工具。

spacevim:一个模块化的 Vim IDE。

vofa+:一个插件驱动的高自由度上位机。

联合开发网:356万个编程源码资料

觅思文档:私有云笔记、云文档和知识库系统。

aardio:易用性极强的动态语言。

OneNET SDK:OneNET SDK仓库。

ros手册:ros的官方手册。

gnu的开源软件:gnu的开源软件

soft-and-hard:这是一个以物联网项目为主方向分享web开发教程。

FireflyTeam :一个开放源代码的仓库。

python脚本:一些好用的python脚本。

C++ libraries:A list of open source C++ libraries.

Lindenis:An open source software for Lindenis SBC。

fast-line-following:一个快速寻线机器人的算法。

深度神经网络可视化工具:深度神经网络可视化工具。

Awesome-Embedded :汇聚了各种嵌入式相关的资源。

FreeModbus : FreeModbus是一款开源的Modbus协议栈,但是只有从机开源。

更多资源敬请期待......

6、一些芯片原厂代码仓库

STMicroelectronics:意法半导体(ST)。

TI:德州仪器(TI)。

NXP:恩智浦(NXP)。

Freescale:飞思卡尔半导体(Freescale)。

hisilicon:海思。

rockchip:瑞芯微。

Samsung:三星。

Infineon:英飞凌。

analogdevicesinc:亚德诺半导体(ADI)。

MicrochipTech:微芯半导体(Microchip )。

NordicSemiconductor:北欧集成电路(Nordic)。

cypress-io:赛普拉斯半导体(Cypress)。

GD32:易兆创新(GD)。

GD32网盘::易兆创新(GD)网盘资料。

更多资源敬请期待......

7、物联网、智能家居

Domoticz :一个开源的智能家居系统 。

Kaa IoT Platform:功能丰富的开放和高效的物联网云平台。

RT-Thread IoT SDK :基于RT-Thread IOT开发板的各类例程。

从零打造物联网:一份适合嵌入式开发人员学习的web开发教程。

更多资源敬请期待......

8、机器人相关 / 定位 / 视觉

RoboCar:机器人自动寻线、避障、建图、导航、遥控版本/车载电脑版本路面分析,及交通路况识别的车辆辅助驾驶系统

ROS教程:机器人操作系统

slam:思岚科技。

9、推荐博客 / 博文

嵌入式大杂烩周记 | 第 11 期 aardio

嵌入式大杂烩周记 | 第 10 期 inih

嵌入式大杂烩周记 | 第 9 期 nanopb

嵌入式大杂烩周记 | 第 8 期 AMetal

嵌入式大杂烩周记 | 第 7 期 zlog

嵌入式大杂烩周记 | 第 6 期 FlexibleButton

嵌入式大杂烩周记 | 第 5 期 smartlink

嵌入式大杂烩周记 | 第 4 期 cola_os

嵌入式大杂烩周记 | 第 3 期 sys/queue.h

嵌入式大杂烩周记 | 第 2 期 llgui

嵌入式大杂烩周记 | 第 1 期 gear-lib

博文——Tslib移植与分析

博主——ychy