当前位置:网站首页>Embedded development program framework
Embedded development program framework
2022-07-06 04:36:00 【Please trust me】
List of articles
framework design
stay 《 The code of 》 The first 5 In the chapter , Program design is divided into these levels :
- The first 1 layer : software system , It's the whole system 、 Whole procedure
- The first 2 layer : Break down into subsystems or packages . For example, we can split it into : Input subsystem 、 Display subsystem 、 Business system
- The first 3 layer : Decompose into classes . stay C There are no classes in the language , You can use structures to describe subsystems .
- The first 4 layer : Decompose into subroutines : Implement those structures ( There are function pointers in the structure ).
Concept of framework
It means that our code is convenient for upper developers to read , We need to encapsulate the underlying driver , Buffer through the middle layer , So that the upper layer can easily call at the same time , Engineers who write business bare metal can also easily understand our code design . In fact, it is a very simple logic of engineering programming . adopt .c File to achieve a certain function , adopt .h The document states . So the main function main You can pass .h Header file to call .c File implementation function .
summary
There's no code this time , So sorry . Later code will be used in practice , Just pay attention to understanding logic .
边栏推荐
- Data processing methods - smote series and adasyn
- Platformio create libopencm3 + FreeRTOS project
- 动态规划(树形dp)
- . Net interprocess communication
- 2327. 知道秘密的人数(递推)
- Delete subsequence < daily question >
- When debugging after pycharm remote server is connected, trying to add breakpoint to file that does not exist: /data appears_ sda/d:/segmentation
- tengine 内核参数
- Crawler notes: improve data collection efficiency! Use of proxy pool and thread pool
- Etcd database source code analysis -- etcdserver bootstrap initialization storage
猜你喜欢
View 工作流程
Sqlserver query results are not displayed in tabular form. How to modify them
Database - MySQL storage engine (deadlock)
Meet diverse needs: jetmade creates three one-stop development packages to help efficient development
Deep learning framework installation (tensorflow & pytorch & paddlepaddle)
Digital children < daily question> (Digital DP)
Redis —— Redis In Action —— Redis 实战—— 实战篇一 —— 基于 Redis 的短信登录功能 —— Redis + Token 的共享 session 应用— 有代码
Coreldraw2022 new version new function introduction cdr2022
Jd.com 2: how to prevent oversold in the deduction process of commodity inventory?
Case of Jiecode empowerment: professional training, technical support, and multiple measures to promote graduates to build smart campus completion system
随机推荐
MIT CMS. 300 session 8 – immersion / immersion
Cross domain and jsonp details
解决“C2001:常量中有换行符“编译问题
The implementation of the maize negotiable digital warehouse receipt standard will speed up the asset digitization process of the industry
How do programmers teach their bosses to do things in one sentence? "I'm off duty first. You have to work harder."
When debugging after pycharm remote server is connected, trying to add breakpoint to file that does not exist: /data appears_ sda/d:/segmentation
Yyds dry inventory automatic lighting system based on CC2530 (ZigBee)
Unity screen coordinates ugui coordinates world coordinates conversion between three coordinate systems
VPP性能测试
canal同步mysql数据变化到kafka(centos部署)
Ue5 small knowledge points to enable the setting of lumen
2/13 qaq~~ greed + binary prefix sum + number theory (find the greatest common factor of multiple numbers)
2328. Number of incremental paths in the grid graph (memory search)
Explain in simple terms node template parsing error escape is not a function
动态规划(树形dp)
C. The Third Problem(找规律)
web工程导入了mysql驱动jar包却无法加载到驱动的问题
coreldraw2022新版本新功能介绍cdr2022
Dynamic programming (tree DP)
SharedPreferences source code analysis