• 嵌入式软件采集频率值的方法

    点击上方蓝字关注我哦~ 01 前言 嵌入式软件输入采集较为常见有gpio读取高低电平、ad读取电压值等,但是如果要采集一个频率信号的频率值,该如何采集? 02 采集频率值 我们知道传感器的输出信号形式除了电压电流,还有频率,例如一些加速度传感、转速传感器,

  • 基于stm32的DIY遥控小船(二)--更换遥控器

    点击上方蓝字关注我哦~ 01 前言 前面的文章《基于STM32的DIY遥控小船制作》中使用的HX1838红外遥控模块确实是足够便宜,但是实际用下来遥控距离太短,大概只有2米左右。外加必须指着才能遥控,在公共场合操作起来有些奇怪。 02 升级改造 在某宝上寻到了便宜

  • 新增LED设备--从上层到底层理解安卓架构之HAL篇

    硬件抽象层介绍 + 硬件抽象层(Hardware Abstraction Layer,简称HAL)是介于android内核kernel和上层之间的抽象出来的一层结构,是对Linux驱动的一个封装,对上层提供统一接口,上层应用不必知道下层硬件具体怎么工作的,屏蔽了底层的实现细节。为什么有了 硬

  • 新增LED设备--从上层到底层理解安卓架构之内核篇

    为了更好的理解安卓的层次关系,本文在RK3399的安卓系统上增加LED灯的外设,并使用APP打开关闭LED灯。以这样一个最简单的实例,来演示从上层到底层的调用过程。首先从最底层的kernel层开始。 一、驱动开发 Kernel层就是要将LED硬件接入到系统,完成驱动的开发

  • 数据结构之堆栈

    堆栈的基本概念 堆栈是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是:线性表允许在任意位置插入和删除数据元素操作,而堆栈只允许在固定一端进行插入和删除数据元素操作 根据堆栈的定义,每次进栈的数据元素都放在原

    嵌入式案例Show
    2020-07-02
  • 嵌入式软件中的串口收发队列设计方法

    点击上方蓝字关注我哦~ 01 前言 在嵌入式软件的开发中,串口是十分常用且基础的功能。在需要批量发送数据的场合,可以使用while循环等待发送完成标志位的方式,但是这种方式会占据主循环,影响效率。也可以采用dma的方式,但是dma在发送数据时非常高效,但是

  • STM32如何优雅地hello world

    点击上方蓝字关注我哦~ 01 前言 STM32上hello world,说白了就是使用串口向PC上的上位机软件或者串口调试助手发送字符串。 串口的使用方法百度一下就能知道了,简单来说就是下面这样。 uint8_t buff[BUFF_SIZE];//定义一个缓存数组 HAL_UART_Receive_IT(&hua

  • 如何系统地入门学习stm32?

    点击上方蓝字关注我哦~ 01 前言 本人当初学习STM32的时候有一些跟风的因素,自以为学的芯片越多就越厉害 =_=、 其实,学习嵌入式重要的是整体的工程思想和项目经验积累,说到底这些芯片,我感觉学习起来都差不多吧,无非就是对内资源(寄存器、中断、定时器

    嵌入式案例Show
    2020-07-02
  • 为什么和其他语言相比C语言是快速的语言?

    点击上方蓝字关注我哦~ 01 前言 初入门的我们经常听见别人说“真正的程序员用C语言编程,C是最快的语言因为它是最靠近及其底层的语言。”那么和其他语言相比C语言到底有什么特别的呢? 02 C语言为什么快 C语言没有什么特别,这就是它快速的秘诀! 新的

  • 新增LED设备--从上层到底层理解安卓架构之APP篇

    点击上方蓝字关注我哦~ 经过驱动、HAL、JNI、SERVICE一层一层精心浇筑,新增的LED设备调用接口终于可以被APP调用了。举个不恰当的比喻,就好像建造一座海洋石油钻井平台,从海底一段一段钢架、油管连接起来,最终在海面上建造出了一个平台(面向应用层的接口

  • 真的可以,用C语言实现面向对象编程OOP

    解释区分一下C语言和OOP 我们经常说C语言是面向过程的,而C++是面向对象的,然而何为面向对象,什么又是面向过程呢?不管怎么样,我们最原始的目标只有一个就是实现我们所需要的功能,从这一点说它们是殊途同归的。过程与对象只是侧重点不同而已。 举个例子

  • Makefile 入门

    点击上方蓝字关注我哦~ 01 前言 今天抽空研究了下 Makefile,在这里整理一下各处搜到的资料,以备将来复习时快速上手,同时也帮助和我一样的初学者们节约时间。 02 准备工作 首先,假设我们有如下几个代码文件:main.cpp functions.h function1.cpp function

    嵌入式案例Show
    2020-07-02
  • 图像变换:opencv基于树莓派和Android端分别实现

    点击上方蓝字关注我哦~ 01 前言 最近笔者在一些项目上需要对图像做些变换操作,这些操作opencv基本上都帮我们实现了,但是在linux系统和Android系统实现起来还是有些区别的,在这里和大家分享下。 02 知识点 由四对点计算透射变换 函数原型: CvMat* cvGetPe

  • 精选文章汇总

    点击上方蓝字关注我哦~ 为了方便大家查阅,特意把我的公众号『嵌入式案例Show』文章分类整理。会定期进行整理。 ------更新于2020年6月21日 C语言 C 语言回调函数详解 C代码常用函数整理 常用的排序算法(C语言) 嵌入式软件中的延时函数 win10下使用VS Code

    嵌入式案例Show
    2020-07-02
  • 漫话:为什么键盘以QWER排列,而不是ABCD?

    QWERTY的来源 第一台实用即真正的打字机的发明人是一位美国人,他叫克里斯托夫·肖尔斯。 最初的打字机键盘是按照字母顺序"abcd"这样排列的,键盘的大概布局如下: 刚开始打字员对于打印机不是很熟练,所以用起来还没有太大的问题。 但是,随着打字员熟练程度

发布文章