自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 资源 (6)
  • 收藏
  • 关注

原创 STM32系列--从入门到精通

使用STM32也有好几个年头,起初用的开发板已经积灰了,刷干净开发板上的灰,我觉得,应该写点什么东西了,把这些年来调试走过的路,一些心得,一些体会,记录下来,希望对大家有所帮助。个中的一些知识,若有不中肯或描述不当的地方,也请各位多多指正。 以前,我使用的是ST的标准库,后来,发现有一个叫Stm32CubeMx的工具,这个工具能省去很多基本配置的工作,快速地生成工...

2018-08-17 17:41:37 13624 9

原创 STM32 使用硬件I2C接口读写EEPROM

CPU作为老板,发钱需要自己转帐,收钱需要自己看信息,是一种悲哀。上一篇《STM32 使用IO口模拟I2C时序》,我们讲述了“论老板如何自己发钱和收钱”。这一篇《STM32 使用硬件I2C接口读写EEPROM》,我们来讲述“论老板如何雇佣员工帮忙发钱和收钱”。我们先来招聘一个职位:岗位职责:1、自动产生I2C时序,向其他芯片发送(发钱)或者接收(收钱)数据。任职要求:1...

2020-04-15 11:23:25 2479 1

原创 STM32 使用IO口模拟I2C时序

上一篇《I2C协议详解》我们了解了I2C的操作流程,这一篇,我们就使用I2C,来对EEPROM进行操作吧。我们做两种选择:1.时序由IO口模拟高低电平,需要了解协议并按照协议操作相应的IO口。2.时序由硬件自行产生,不需要人工干预;由硬件产生的I2C时序,我们借助Stm32Cube配置实现便可,我们这一篇,抛开Stm32Cube,手撕代码,根据I2C的时序,一步步地实现I2C对...

2020-04-11 16:16:56 7355 1

原创 signal原型:返回值是函数指针的函数

回顾下《指针函数和函数指针深入剖析》函数指针:是一个指向函数的指针;指针函数:是一个返回值是指针的函数;返回值是函数指针的函数:是一个指针函数,它的返回值是一个指向函数的指针;如何声明?void (*func(char, int))(int);声明一个函数,函数名:func;参数:一个char和一个int;返回值:一个函数指针,该指针可指向一个"参数...

2019-10-30 18:47:33 630

原创 typedef 详解

typedef,看名称,就是类型定义,它,真的就用在类型定义。它创建一种新的数据类型名称。注意,是数据类型名称,不是数据类型。也就是说,typedef并不创建新的类型,typedef只是在已有数据类型(比如 int,char等)上,给这个已有类型起一个别名。typedef 应用场景:1. 变量:typedef int Length; // 给int数据类型...

2019-10-27 13:14:42 1482

原创 指针函数和函数指针深入剖析

C语言的魅力所在在于指针,一脸懵圈,黑人问号也在于指针。就像女孩子的心思,变幻莫测,无穷无尽,古灵精怪。今天,我们就先来看一看女孩子心思之 ---指针函数、函数指针。1、指针函数:看字面含义,指针是修饰函数的,所以,它是一个函数,返回值为指针。看指针函数的声明:int *point_func(void)()优先级高于*,point_func先和()结合,所以 p...

2019-10-25 17:15:10 615 2

原创 ubuntu samba配置及应用

samba使用SMB协议,实现网络上不同计算机的共享服务。它可以在window下访问linux的共享文件夹。类似于资源管理器。服务端:Ubuntu 16.04.1客户端:Windows 7用windows访问ubuntu共享文件夹1、安装: apt-get install samba安装好了呀2、创建samba用户和组 grou...

2019-09-11 17:42:50 271

原创 ubuntu ffmpeg+sdl 开发平台搭建

FFMPEG的官方解释是:A complete, cross-platform solution to record, convert and stream audio and video. SDL的官方解释是:Simple DirectMedia Layer is a cross-platform development library designed to provide ...

2019-09-05 21:06:55 631 1

原创 ubuntu安装ssh、遇到的问题、解决方案

在ubuntu系统,执行: sudo apt-get install ssh按提示,按y,安装完成在客户端机器(Windows 7)连接,出现提示框:意思是“算法协商失败”。怎么办呢?那就让它协商成功吧。解决方案:在ubuntu主机上 vi /etc/ssh/sshd_config在文件结尾增加:# *************...

2019-08-27 17:12:47 671

原创 exynos4412 祼机LED闪灯 - 一闪一闪亮晶晶

一闪一闪亮晶晶,满天都是小星星…… 今天,我为你摘下一颗星,闪给你看……只有一颗喔…… 《exynos4412 启动过程》一文中讲过,bootloader的作用主要是初始化操作系统启动所需的环境,并引导操作系统。 现在不需要操作系统,我们仅需要让LED闪灯,能不能把引导操作系统,变成引导我们的裸机程序main呢? 我们的u-boot,其实就是一...

2019-06-19 10:11:58 1137

原创 uboot 编译、生成、运行--uboot诞生记

每一段程序的诞生,都是神圣而伟大的…… 今天,我们就来见证这神圣而伟大的时刻! 上一篇《Exynos4412 启动过程 - bootloader的一生》,我们主要了解了系统的启动过程,iRAM --> BL1 --> BL2 --> 启动OS 其中,iRAM固化在芯片里,iRAM会根据OM Pin,选择从哪种启动介质(SD,NAND F...

2019-06-17 17:04:39 1470

原创 linux shell 脚本 - 给男友的家务清单

如果 shell 是你的男友,那么,shell 脚本,便是给男友的家务清单。 有一天,小红让男朋友 shell 做家务,于是,她就对 shell 说:“洗碗”,等 shell 洗完碗,她又对 shell 说:“换灯炮”,等 shell 换完灯泡,她又对 shell 说:“拖地”... ... ... 一轮家务下来,小红不停地发指令,不停地指挥做家务,比男朋友 shell 还...

2019-06-03 17:00:43 465

原创 Makefile 基础 - 让我欢喜让我忧

你这样,一个女人,让我欢喜让我忧... --- 周华健Makefile 就是一个让人欢喜让人忧的东西,欢喜呢?使用起来超方便。忧呢?就是语法比较麻烦,一大堆一大堆的,有时候会繁杂。当然,了解它之后,或许,忧,会少一点吧。比如,“我没事”时,你应该说“我错了”,而不是去玩游戏。“肚子疼”时,你应该帮她揉揉肚子,而不是“多喝开水”。这一篇呢,将带你进入一个让...

2019-05-31 11:04:37 299

原创 Exynos4412 启动过程 - bootloader的一生

活着,到底有什么意义?程序总有一死,有的轻如鸿毛,有的重若泰山。有一个程序,名 bootloader,它生于iROM,走过SRAM,消亡于DDR。它开天辟地,创造了稳定的系统世界,它的一生,就是为了成就操作系统。它是一个是一个高尚的程序,一个纯粹的程序,一个有道德的程序,一个脱离了低级趣味的程序,一个有益于人民的程序。今天,我们就来看一看它,回顾一下它传奇的一生。bo...

2019-05-25 17:31:37 848

原创 STM32 精准延时

延时,就是停在那,啥都不干,发呆。精准延时,就是发呆多长时间,是精确的。比如,要求某个IO口维持低电平1毫秒后,再维持高电平3毫秒,就需要把IO口拉高,然后延时1毫秒,再拉低,再维持3毫秒。类似这种情况在硬件接口时序里经常遇到,比如,用IO口模拟SPI协议,用IO口模拟I2C协议等等。既然延时就是发呆,那我们让系统发发呆就得了呗,让它执行空代码,执行很多很多很多,就能达到预期的效...

2019-02-14 20:33:45 4763

原创 STM32 基本定时器

    小明妈妈跟小明说:“10分钟后,你再不给我去做作业我就揍你!”,接着,小明妈妈看着手表,1秒钟数1下,0,1,2,3,……,599。看看小明有没有做作业,根据情况判断要不要揍他。    接着,小明妈妈又从0数起,到599,继续看看小明有没有做作业…… ……再数数…… ……    于是,小明妈妈就是一个每隔10分钟监视一下小明有没有做作业的定时器,手表,就是小明妈妈定时器的时钟,小明...

2018-12-23 23:51:58 5700

原创 I2C协议详解

I2C协议---由发钱想到的... 月圆之夜,紫禁之巅,一剑西来,天外飞仙... 屋顶有人,两个人,一个是黑衣人,另一个也是黑衣人,一胖一瘦。 胖的叫“钱哆哆”,外号“马斯特(Master)”,笔名“主设备”,人称“钱老板”,没有人知道他具体有多少钱,只知道很多很多... 瘦的叫“项药前”,外号"斯莱姆(Slave)",笔名“子设备”,其他,不详。...

2018-10-24 15:18:47 1608 3

原创 STM32 Uart @调试命令的实现

      这篇,我们讲一讲@命令的实现,我们就以 @cmd 参数1 参数2 参数3 ... 为例,实现在STM32上使用@cmd 进行调试。这样,我们就把基本的调试平台搭建起来了,可以使用串口调试工具进行调试了,类似于linux的控制台。      在《STM32 Uart 实现printf函数》的代码里面,已经配置好串口,并设置好串口DMA接收,且实现在串口打印功能,我们就是《STM32 ...

2018-09-08 22:22:01 3258 1

原创 STM32 Uart 实现printf函数

        在《STM32 Uart 接收变长数据》的结尾,我们觉得每次使用这样的形式来输出信息感觉好麻烦,也不方便调试。 HAL_UART_Transmit(huart, &RxLenHi, 1, 1000); // 发送长度高位 HAL_UART_Transmit(huart, &RxLenlo, 1, 1000); // 发送长度低位 HA...

2018-08-31 23:42:21 9622 2

原创 STM32 Uart 接收不定长数据

      前面讲了Uart三种不同的方式接收数据,请参照《STM32 Uart及其配置》《STM32 Uart中断接收》《STM32 Uart DMA方式接收数据》,但是,它们都需要指定数据的长度,但实际应用中,会出现不定长度的数据,比如,某些模块的@命令,那么,如何接收不定长度的数据呢?今天,我们就来扒一扒STM32 Uart 变长数据的接收。      问题来了,变长数据包,我们如何确定...

2018-08-25 22:54:56 17982 19

原创 STM32 Uart DMA方式接收数据

      CPU开了一家公司,叫“搬砖有限公司”,刚开始,只有CPU老板会搬砖,每次需要搬砖头的时候,他都要自己把砖头从一个房间搬到另一个房间,影响他做其他事的效率。后面,他招了一个搬砖小能手,名字叫DMA,现在,每次需要搬砖头的时候,他只需要告诉DMA:“一次搬2块,搬1024块砖,从研发部,搬到生产部”就行了,他可以解放双手,做更重要的事。DMA搬完砖头后,会跟老板汇报:“老板,搬完了”。于...

2018-08-17 00:03:36 18016 2

原创 STM32 Uart中断接收

        小明正在玩游戏,小明的妈妈喊小明吃饭,这时,小明放下游戏,先去吃饭,吃完饭后,继续玩游戏。        这就是中断!“正在玩游戏”是执行程序,“小明的妈妈”是中断源,“喊小明吃饭”是中断产生,“小明吃饭”是中断处理,“吃完饭”是中断处理完成,“继续玩游戏”是继续执行程序;        中断,就是CPU在执行程序过程中(小明玩游戏),由于计算机内部/外部发生其它事件(小明...

2018-08-12 23:42:56 19449 5

原创 STM32 Uart及其配置

重要的事情要说三遍,这个通信口,非常重要!非常重要!非常重要!Uart =  Universal Asynchronous Receiver/Transmitter,通用异步接收器/发送器,它的特点就在于它的名字,通用,很多地方都用到;异步,它没有同步时钟;接收器/发送器:能收能发,全能小超人。一般用在上位机(比如PC,比如中控等)与单片机的通信,单片机与模块间的通信,单片机与单片机的通信...

2018-08-01 22:44:09 15459

原创 STM32CubeMx 创建第一个工程

    工欲利其事,必先利其器,今天就先来利一利STM32CubeMx这个器吧;    先说一下STM32CubeMx是干啥子的吧,它能帮你建工程,生成部分代码,你只要往相应的代码里面添加你的功能便可以了,总之,它可以减少你的工作量就对了; 1.下载安装    a.下载安装JRE:STM32CubeMx是基于JAVA运行的,所以要先下载安装JRE,地址:http://www.oracl...

2018-07-08 16:54:35 15335 3

testLED.tar.gz

exynos4412裸机闪灯程序,就是一个闪灯的u-boot,使用 exynos4412 pop。 sdfuse_q --- 里面的文件为三星提供,bl1/bl2/tzsw; build.sh --- 编译脚本,执行./buid.sh 便可编译,记得先搭建环境喔; led.c --- main 程序,C,负责初始化IO口,闪灯; start.S --- 引导程序,汇编,设置堆栈,跳转到C语言 main; Makefile --- makefile; mkuboot --- linux shell,负责把最终的程序写进SD卡;

2019-06-19

RMVB视频格式转换工具

RMVB转成MP4,3GP等格式,用于PS3,智能手机看电影...

2010-03-17

VESA-timing dmt10

VESA Monitor Timing Standard...

2010-03-17

Silicon Image Edid Tool.zip

非常好用的EDID编辑工具.

2010-03-11

BIN转TEXT小工具

BIN转TEXT的小工具,将BIN的内容读出来,转成TEXT;

2010-03-09

C语言资料大全

C语言的教程,感觉还可以

2008-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除