嵌入式开发
小薛1988
努力奋斗
展开
-
在华大半导体的M0+内核HC32L136上移植freertos
创建一个基础工程(为了方便,可以直接选择官方SDK的Demo里例子) 把freertos源码里的Source文件拷贝过来 工程新建分组freertos,添加如下文件: 3.1Source目录下的所有.c文件 Source->portable->RVDS->ARM_CM0目录下port.c文件 (根据自己单片机的内核和开发环境来选择) Source->portable->MemMang目录下的heap.c文件添加完后的工程示意图 编译和错误修改 编译原创 2020-12-07 19:54:51 · 3178 阅读 · 1 评论 -
STM32 定时器输出比较翻转模式
文章1:http://news.eeworld.com.cn/mcu/article_2016101130330.htmlSTM32的定时器还有一个模式叫做输出比较翻转模式。这种模式,顾名思义,可以翻转电平,但是条件是:当计数值达到比较值时,才会在对应的通道引脚翻转原先的电平。利用这个特点,我们可以在引脚上生成PWM波。下面就讲讲如何利用这个“翻转”这个特点,来输出PWM波。还是基于我自己的规工程。1、工程的修改1)这里用到了定时器,所以需要将stm32f10x_tim.h添加到STM32F原创 2020-12-02 19:29:45 · 9198 阅读 · 1 评论 -
按键短按、长按,双击
整理的网上按键短按、长按,双击的关键代码和思路(1)#include"Key_Board.h" /*记录按键按下时间 时间小于1.5S,按键为短按;时间大于1.5S,按键为长按*/ volatileunsignedintkey1_timing =0; /*记录两次短按之间的时间间隔*/ ...原创 2020-12-01 19:51:27 · 5150 阅读 · 0 评论 -
红外编码
NEC 红外遥控器红外遥控器广泛应用于家用电器的控制,比如电视机,空调都是使用的红外编码来进行信息传输的, 红外遥控器由两部分组成,一个是发射端(遥控器),一个是接收端(家用电器),发射端是通过人眼不可见的红外光来对信息进行编码的, 一般使用 38KHz 1/3 占空比的载波进行信息的调制,如下图:有载波时表示逻辑 1,无载波表示逻辑 0,然后通过逻辑 0 和 1 的不同组合就衍生出了不同的红外协议,比如上图举例的是 NEC 红外编码协议。 在硬件上,我们使用下面的驱动电路来产..原创 2020-11-29 19:02:29 · 3816 阅读 · 1 评论 -
STM32互补PWM输出使能控制
http://blog.csdn.net/MengchiCMC/article/details/54023380?locationNum=5&fps=1STM32的高级定时器TIM1可以产生互补的PWM,并且可以通过相关寄存器的设置使能或关闭PWM的输出。在编写BLDC的驱动程序时,本人利用TIM1的channel1,2,3三个通道生成了三路互补的PWM波形,定时器驱动程序如下:void ...转载 2018-07-02 09:06:52 · 14726 阅读 · 2 评论 -
STM32定时器---正交编码器模式详解
编码器分类: 按工作原理:光电式、磁电式和触点电刷式 按码盘的刻孔方式:增量式和绝对式两类 由于博主接触面还不是很广,一共就用过两个种类的编码器,都是属于光电的 差分编码器:一般由8根线连接 信号线分别为 A+ A- B+ B- Z+ Z- 以及VCC和GND 这里有一种不需要Z信号的,6线差分A+ A- B+ B- VCC 和GND 正交编码器:一般是5根线连接,信号线分别为A B Z VCC和...转载 2018-06-21 16:15:14 · 18502 阅读 · 11 评论 -
STM32定时器---正交编码器模式详解
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"> <div class="markdown_vie转载 2018-06-21 16:11:00 · 1295 阅读 · 0 评论 -
linux下logo问题汇总
转】修改内核启动logo的方法 内核默认的logo图片路径为drivers/video/logo/logo_linux_clut224.ppm,所以首先先修改目标: 覆盖原来的logo_linux_clut224.ppm文件,若有logo_linux_clut224.o和logo_linux_clut224.c文件则一并删除,这样才能在再次编译时使用新的logo_lin转载 2017-01-19 11:27:23 · 573 阅读 · 0 评论 -
Linux驱动修炼之道-SPI驱动框架源码分析(上)
SPI驱动架构,以前用过,不过没这个详细,跟各位一起分享:来自:http://blog.csdn.NET/woshixingaaa/article/details/6574215SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式。相关通讯设备可工作于m/s模式。主设备发起数据帧,允许多个从设备的存在。每个从设备有独立的片选信号转载 2017-04-12 08:47:14 · 234 阅读 · 0 评论 -
Linux驱动修炼之道-SPI驱动框架源码分析(中)
来自:http://blog.csdn.NET/woshixingaaa/article/details/6574220这篇来分析spi子系统的建立过程。嵌入式微处理器访问SPI设备有两种方式:使用GPIO模拟SPI接口的工作时序或者使用SPI控制器。使用GPIO模拟SPI接口的工作时序是非常容易实现的,但是会导致大量的时间耗费在模拟SPI接口的时序上,访问效率比较低,容易成为转载 2017-04-12 08:50:38 · 567 阅读 · 0 评论 -
如何编写linux下nand flash驱动
http://www.cnblogs.com/sankye/articles/1638852.html向作者Sankye致敬【编写驱动之前要了解的知识】1. 硬件特性:【Flash的硬件实现机制】Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device)转载 2017-05-03 15:49:01 · 757 阅读 · 0 评论 -
实例解析linux内核I2C体系结构(1)
如有侵权,请联系我删除谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。第一种方法问题(对应第二转载 2017-04-26 10:25:09 · 676 阅读 · 0 评论 -
Linux 设备驱动篇之I2c设备驱动
********************************************************************************************装载声明:希望大家能转载此文谢谢:原文链接http://blog.csdn.net/fulinus/article/details/9008191***************************转载 2017-04-26 13:39:29 · 1432 阅读 · 0 评论 -
S3C2440上MMC/SD卡驱动实例开发讲解(一)
http://blog.chinaunix.net/uid-25445243-id-212957.html一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、MMC/SD介绍及SDI主机控制器转载 2017-04-27 10:15:26 · 509 阅读 · 0 评论 -
u-boot在s3c2410开发板上移植(NAND Flash Boot)过程 2007-08-21 11:56:25
这篇文章对于我的U-Boot移植起了重要作用,阐述了U-Boot从NAND Flash启动需要做的修改,但是其做法并不是完全正确(只是个人意见)。在这里谢谢Bekars涡轮增压!! 这篇文章转载自他的博客:http://blog.csdn.net/bekars/archive/2006/05/06/710888.aspx1)u-boot版本1.1.3,gcc versi转载 2017-05-19 08:46:57 · 603 阅读 · 0 评论 -
STM32的PWM
图2图3图3为STM32中文手册对PWM2种模式的介绍,其中有效电平由对应定时器的寄存器TIMx_CCER的CCXP来设置:0-代表高为有效电平;1-代表低电平有效图1和图2,分别代表向上计数的PWM模式1下,高电平有效和低电平有效的波形;项目中要求在PWM启动时,一直保持低电平,然后TIMx->CCR2寄存器的值越大,占空比越大,所以选择向上计数PWM原创 2017-12-20 12:59:35 · 639 阅读 · 0 评论 -
更换kernel启动logo图片
kernel启动logo的更换,备忘1.准备所需要的的图片,要求是png格式。图片的分辨率大小不要超出LCD的分辨率大小. 如本人手头上的LCD是800x480分辨率,为了全屏显示,就将图片编辑成800x480分辨率的名为mylogo.png的图片文件。2.将图片转换成编译进内核所要求的文件。步骤如下: pngtopnm mylogo.png > mylogo.转载 2017-01-19 11:05:03 · 555 阅读 · 0 评论