0.通常,嵌入式软件(这里指单片机系统)的框架千变万化,有带rtos的,也有裸机的. 0.1.写过带系统的,也写过裸机的,这里总结一下两个类型的框架,记录下自己的心得,主要是文字描述,框架图可以后期添加. 1.freertos框架1.1.使用标准库,网上有很多一直教程,也有现成移植好的,如果自己使用,可以在config文件下,自己需要根据项目的大小进行系统的裁剪,这方面的教程有很多,官方的,原子的,野火的等等. 1.2.使用hal库,可以直接使用freertos的中间件,在代码中,cubemx其…
Q/ZX 深圳市中兴通讯股份有限公司企业标准 (设计技术标准) Q/ZX 04.302.1–2003      软件编程规范C/C++                               2003-01-04 发布                             2003-01-06实施   深圳市中兴通讯股份有限公司  发 布 目    次 前言 1     范围 2     术语和定义 3     基本原则 4     布局 4.1         文件布局 4.2     …
使用 C++ 语言给 STM32 编写一个 Adc 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏是有点门槛的.你需要有一点点 STM32 基础 和 一点点 C++ 语言基础. 完整的STM32 C++ Adc类 的下载地址可以在本篇博客的最下面找到. Adc.cpp #include "Adc.h" using namespace stm32f10x; Adc::Adc(ADC_Ty…
准备好好学习学习PHP了吗?那么你首先应该考虑用什么开发工具(IDE).市面上有很多这类工具,收费的有,免费的也有,选择起来并不轻松. 如果你说PHP编程用基础的文本编辑软件就可以了,比如用记事本.是的,这对于业余爱好者来说绝对可以.但选择一款功能丰富而完整的开发软件还是要好一 些,尤其是专业开发者更有必要.这些软件如:NetBeans, PHPStorm, VIM, Zend Studio, Cloud9或Atom. 好的开发工具富有特点而且能够帮助开发者快速高效地编辑程序,它是开发者的基本需…
搜狐视频的屌丝男士第二季大结局了,惊现波多野老师,怀揣着无比鸡冻的心情啊,可惜随着剧情的推进发展,并没有出现期待中的屌丝奇遇,大鹏还是没敢冲破尺度的界线.想百度些种子吧,又不想让电脑留下污点证据,要知道大洋彼岸有个棱镜计划,只好作罢.不如看看书吧,书中自有颜如玉. 开始本次读书笔记前,先扯两个哲学观点,提高下境界.第一个就是<Data-Intensive Text Processing with mapReduce>读书笔记前言中谈到的,大数据产生了大价值,对应的思想很简单:量变导致了质变.第…
源:STM32软件复位(基于库文件V3.5) void SoftReset(void) { __set_FAULTMASK(); // 关闭所有中端 NVIC_SystemReset();// 复位 } //在官方软件库的 core_cm3.h 文件里 直接提供了 系统复位的函数 static __INLINE void NVIC_SystemReset(void) { SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | (SCB->A…
Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务,Executor的实现还提供了对生命周期的支持,以及统计信息收集,应用程序管理机制和性能监视等机制. 下面这段代码中将多个任务放到了线程池中执行: static class MyRunnable implements Runnable{ @Over…
gin框架使用注意事项 本文就说下这段时间我在使用gin框架过程中遇到的问题和要注意的事情. 错误处理请求返回要使用c.Abort,不要只是return 当在controller中进行错误处理的时候,发现一个错误,往往要立即返回,这个时候要记得使用gin.Context.Abort 或者其相关的函数. 类似于: if err != nil { c.AbortWithStatus(500) return } 这个Abort函数本质是提前结束后续的handler链条,(通过将handler的下标索引…
本文转自https://www.cnblogs.com/MOBIN/p/5436482.html java并发编程--Executor框架 只要用到线程,就可以使用executor.,在开发中如果需要创建线程可优先考虑使用Executor,并非只有线程池可以使用executor,单线程也可以使用executor,因为executor提供了很多其他功能,包括线程状态,生命周期的管理.故,只要用到线程,就可以使用executor. 只要用到线程,就可以使用executor.,在开发中如果需要创建线程…
Java 并发编程系列文章 Java 并发基础——线程安全性 Java 并发编程——Callable+Future+FutureTask java 并发编程——Thread 源码重新学习 java并发编程——通过ReentrantLock,Condition实现银行存取款 Java并发编程——BlockingQueue Java 并发编程——Executor框架和线程池原理 Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执…