在嵌入式系统中时钟是其脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作。外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。
点击上方蓝字关注我哦~ 你现在的Keil工程的版本控制是怎么管理的?可能有些人的做法是发布一个版本软件后将代码打一个包保存起来,作为此版本的备份。有一种常见的情况,当开始一项新功能的开发,并且最终的效果不理想老板要求回退回去。又恰巧在开发前没有
点击上方蓝字关注我哦~ 01 前言 安卓系统原生的开机画面是一只可爱的小企鹅,它是Linux的吉祥物。虽然小企鹅程序员都认识,但是在安卓系统定制开发中,客户看到小企鹅的第一眼一般就是“能不能把这个企鹅换成我们的logo?”,所以这就成为了第一个定制需求。
点击上方蓝字关注我哦~ 最近笔者要要实现win10下的一个串口工具,要想多少年前开发的串口工具还是vc++6.0下开发的,把之前vc++6.0的工程转换到VS2015下,报出各种问题,这些问题就不呈现给大家看了,总之都是心酸泪,既然之前的工程不能用,那就重新来吧,首
点击上方蓝字关注我哦~ 01 前言 嵌入式软件输入采集较为常见有gpio读取高低电平、ad读取电压值等,但是如果要采集一个频率信号的频率值,该如何采集? 02 采集频率值 我们知道传感器的输出信号形式除了电压电流,还有频率,例如一些加速度传感、转速传感器,
解释区分一下C语言和OOP 我们经常说C语言是面向过程的,而C++是面向对象的,然而何为面向对象,什么又是面向过程呢?不管怎么样,我们最原始的目标只有一个就是实现我们所需要的功能,从这一点说它们是殊途同归的。过程与对象只是侧重点不同而已。 举个例子
点击上方蓝字关注我哦~ 01 前言 全局变量简直就是嵌入式系统的戈兰高地。冲突最激烈的双方是1. 做控制的工程师 2. 做非嵌入式的软件工程师。 02 做控制的工程师特点 他们普遍的理解就是“变量都写成全局该有多方便”。我之前面试过一个非常有名的做控制实验
点击上方蓝字关注我哦~ 01 前言 SVCS(softwate version control system),即软件版本管理系统,是keil集成的软件版本管理工具。首先更正上篇中关于keil的版本管理系统在μVersion5版本以后才有,实际上在μVersion2,主菜单内就有了SVCS,只是在接触Git前没有
在上一篇中,我们已经完成了Framework层的JNI开发,本篇我们在framework层实现一个LedTestService的服务,并在service中调用Jni的函数接口。 Android内有许多系统管理服务,如 窗口管理服务WindowManagerService 电源管理服务PowerManagerService 通知管理服
在上一篇中,我们已经完成了HAL层的开发,那么framework层要如何调用它呢?答案是JNI(Java Native Interface)。JNI简单来说就是java程序可以调用C/C++写的动态链接库。JNI的存在使得底层可以以C代码的形式实现,保持了高效率,上层又以java代码的
点击上方蓝字关注我哦~ 01 前言 前面的文章《基于STM32的DIY遥控小船制作》中使用的HX1838红外遥控模块确实是足够便宜,但是实际用下来遥控距离太短,大概只有2米左右。外加必须指着才能遥控,在公共场合操作起来有些奇怪。 02 升级改造 在某宝上寻到了便宜
硬件抽象层介绍 + 硬件抽象层(Hardware Abstraction Layer,简称HAL)是介于android内核kernel和上层之间的抽象出来的一层结构,是对Linux驱动的一个封装,对上层提供统一接口,上层应用不必知道下层硬件具体怎么工作的,屏蔽了底层的实现细节。为什么有了 硬
为了更好的理解安卓的层次关系,本文在RK3399的安卓系统上增加LED灯的外设,并使用APP打开关闭LED灯。以这样一个最简单的实例,来演示从上层到底层的调用过程。首先从最底层的kernel层开始。 一、驱动开发 Kernel层就是要将LED硬件接入到系统,完成驱动的开发
点击上方蓝字关注我哦~ 01 前言 在嵌入式软件的开发中,串口是十分常用且基础的功能。在需要批量发送数据的场合,可以使用while循环等待发送完成标志位的方式,但是这种方式会占据主循环,影响效率。也可以采用dma的方式,但是dma在发送数据时非常高效,但是
twtw
289117336
Tronlong创龙
zx66
123yxl
影子念
大有可为
yang2014
xiaoguaixh
liqinglong1023