我的项目开发经验分享

        以下是我的写作计划,欢迎评论与投票,意向较多的版块或子项会优先制作发布。内容是工作这些年沉淀的知识金库。编程语言用的C语言,软硬分层适用不同mcu,主要应用了面向对象思想、指针、函数指针等,适合基础较好的同学。

状态栏:        -已完成                -编写中


目录

Keil5_MDK

我的按键驱动编年史

项目管理

通信协议

系统

数据结构

IC驱动

模组/模块开发

软件驱动

大型驱动

快速配置利器

C语言小技巧 

用C语言设计游戏

STM32练习生-题目详解

其他


Keil5_MDK

手把手教学一文安装Keil5(MDK)

手把手教学一文安装Keil5(MDK)固件支持包

手把手教学一文创建keil5工程模版(STM32F103C8)

Keil5报错与解决汇总


我的按键驱动编年史

介绍:讲述我的按键驱动的进化历程,堵塞延时-状态机-面向对象-分层。支持独立按键/矩阵按键、实现单击/短按抬起/长按/长按抬起/持续长按/连击/多键组合功能;以按键驱动为例子完整讲述一个驱动从耦合度高、移植性差、兼容性差到高度解耦、移植性强、兼容性强的过程。

子项:

堵塞延时按键驱动(单个按键)初学者思路-掌握难度:⭐

状态机按键驱动(单个按键)实际项目思路-掌握难度:⭐⭐

状态机按键驱动(多个按键)面向对象思想-掌握难度:⭐⭐⭐

状态机按键驱动(多个按键)面向对象思想进阶版-掌握难度:⭐⭐⭐⭐

状态机按键驱动(多个按键)分层思想-掌握难度:⭐⭐⭐⭐⭐


项目管理

工程文件管理

main函数合理的初始化顺序

doxygen代码注释规范

命名规范


通信协议

自定义协议编解码

AT指令编解码

ModbusRTU/TCP编解码


我的系统

时间片分散轮询OS

DWT延时

静态/动态内存管理

打印日志(Debug/Info/Error)

测试框架


数据结构

通用链表

环形队列

位图


IC驱动

LCD驱动(驱动IC为ST7735S)

74HC595驱动数码管

PCA953(扩展io芯片)驱动

XGZP6857D气压传感器驱动

SM9541气压传感器驱动

NTC(温度传感器)驱动


模组/模块开发

大彩串口屏

串口转网口模块(有人)


软件驱动

菜单驱动

数码管驱动

输出设备(LED等)特效驱动

编码器驱动(读电平方式,应用于高干扰情况)

多路AD采集驱动

温控驱动

PID算法驱动

S型加减速算法

CRC校验

内存映射驱动(晋级:实现Flash掉电保护)

软件I2C驱动

软件PWM驱动


大型驱动

Bootloader

Modbus(RTU/TCP)驱动

W25Qxx驱动

片内Flash驱动

步进/伺服电机开环控制驱动(控制脉冲频率方式,实现加匀减速过程、中途换向、定位移动、持续运动)

多轴电机运动规划框架

文件系统


快速配置利器

输入输出的GPIO快速配置模版

利用打印串口工具帮我们完成重复的初始化配置工作


C语言进阶技巧 

用指针玩转所有类型转换


用C语言设计游戏

2048游戏

推箱子游戏

五子棋


STM32练习生-题目详解

利用滴答定时器做微秒、毫秒、秒延时

闪烁灯与流水灯

按键控灯

串口控灯(以及printf重定向)

呼吸灯

玩转编码器(根据信号干扰情况,多种方式实现编码器读取)

玩转ADC采集

OLED屏(I2C)上显示爱心跳动

LCD屏(SPI)上实现上下左右滚屏

电子时钟

游戏手柄


其他

单片机配置启动赛灵思FPGA

大小端、MSB与LSB


以上是我的写作计划,欢迎评论与投票,意向较多的版块或子项会优先制作发布。投票项数目有限,欢迎催更以评论方式("版块名/子项名"+1)评论,我会一一总结。

你可能感兴趣的:(经验分享,单片机,嵌入式硬件,c语言,stm32,软件工程,mcu)