STM32自定义串口printf 前言硬件的调试通常可分为两大类,一种是用调试器将芯片和电脑连接通过单步等方式逐步运行进行调试,另一种就是printf大法在程序运行过程中输出调试信息。第一种比较深入,可以了解每一个变量,栈堆,函数等等的变化是比较系统化的调试。但我通常都是用printf来调试的,因为快速简单属于非介入的方式,调试完毕直接注释掉相关部分就行了。 重定向 printf 函数对于STM32来说现在串口例程一般都配有一个 2018-03-01 STM32 #串口(UART)
SMT32串口接收、空闲中断 识别尾进行接收结束的验证 串口接收完毕标志可以利用识别特定字符(字符串)来检测,比如 “\r\n”、’*#’ 之类的。所以每次发数据都需要加上这些字符才能被识别为接收完毕,这样好处就是比较通用。无论是什么硬件平台都能用。代码也不复杂,在STM32平台上简单的例子如下代码段:当接收到 ‘*‘ 时候就会置位接收完成标志位,就可以进行处理了。123456789101112131415161718#def 2018-03-01 STM32 #串口(UART)
ESP8266工程的裁剪和编译 前言本篇文章主要讲一下,乐鑫官方给的ESP8266 Demo怎么裁剪成我们要的样子以及编译。 模板工程所需文件由于官方给的工程是包含了全部的Demo和库所以我们直接使用是不能编译的。我们就从一个最基础的工程模板开始裁剪,因为其他的功能都可以通过工程模板添加库和代码来实现。首先亮一下官方原版的RTOS SDK的工程结构(下左图)。 我们需要把这个工程做成一个最基本的模板那么就需要把里面冲 2018-01-23 ESP8266
ESP8266工程的导入 前言:本篇文章主要讲一下,ESP8266的工程怎么导入到Eclipse里。 准备一个SDK工程 既然是导入那么你首先得有一个现有的工程(不存在建工程的,这辈子都不可能徒手建工程的),工程从网上找一个就OK了。 ESP8266的SDK有两种,一种是无系统(NON-OS SDK),另一种是运行了FreeRTOS的(RTOS SDK)。 SDK类型描述优缺点NOn-OS SDK1.主要使⽤定时器和 2018-01-22 ESP8266
ESP8266开发环境的搭建 前言:本篇文章主要讲一下,ESP8266的开发环境怎么搭建。 开发工具下载:对于ESP8266的开发工具我们采用的是eclipse搭建的一个IDE。这是安信可公司开发出来的,他们公司还出了一款付费的,只需要点一点就能生成基础代码的工具(不付费只能生成代码不能编译)。点击这里下载最新的IDE。这里最新更新是2016年,应该已经停止了更新。防止链接失效,我转存到我的网盘:ESP8266开发环境 密码: 2018-01-21 ESP8266
ESP8266开发历程前言 意义:这算是第一个教程吧,ESP8266从大三到现在学了到现在,但是没有什么记录。回头又得拿着代码一点一点看,所以打算记录一下。同时也会兼顾一些解释和教程性质的东西,给能找到这的人看看吧,希望能给你一点帮助。 更新:更新的话,不定时。至于内容的顺序,就先按照一个hello world的实现来写,从引脚,IDE,下载工具,接线到写hello world,到下载查看。这些讲完的话打开你也就懂怎么做了。 2018-01-21 ESP8266
Linux系统目录讲解 /bin 目录 全称:Binary(Binaries) 作用:存放二进制可执行文件,例如命令行的cp命令。 备注:/bin下的命令是所有用户都可以执行的。/sbin(Spuer Binary)目录下的命令只有超级用户权限才能执行,比如分区操作。 /boot 目录 全称 :Boot 作用 :存放操作系统的引导启动需要的文件。一般100M左右(50~200 2017-12-06 linux #linux目录
C函数指针 当我们看到如下所示的代码怎么去理解它的意义呢。 1(* ( void (*) () ) 0) () 解析这个函数需要下面几个知识 函数申明包含返回值,函数名,参数列表。 如返回值是’int’ 函数名为’fun’,参数列表为’void’。 int fun(void); 12342. 函数指针和返回值为指针的函数 - 函数指针:函数指针pfun指向的是一个返回值为int类型,参数列表为空的函数。 2017-10-28 c语言 #指针
测试编译器是否支持嵌套注释 问题:某些C编译器允许嵌套注释。请写一个测试程序,要求:无论是对允许嵌套注释的编译器,还是对不允许嵌套注释的编译器,该程序都能正常通过编译(无错误消息出现), 但是这两种情况下程序执行的结果却不相同。 提示: 在用双引号括起的字符串中, 注释符 /* 属于字符串的一部分,而在注释中出现的双引号 “ “ 又属于注释的一部分。 出自——《C陷阱与缺陷》练习1-1 嵌套注释:顾名思义就是注 2017-10-01 c语言 #嵌套注释
处理器大小端存储模式 大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。 小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。 例如:一个数据无符号32位整数0x12345678,其中0x12属于高字节(权值大)而0x78属于低字节(权值小),在不同的模式下存储的方式如下表: 内存地址 0x1000 0x1001 0x1002 0x1003 2017-09-13 c语言 #大小端存储