专注于嵌入式技术分享!
【STM32】串口打印知多少? 【STM32】串口打印知多少?
常规打印方法在STM32的应用中,我们常常对printf进行重定向的方式来把打印信息printf到我们的串口助手。在MDK环境中,我们常常使用MicroLIB+fputc的方式实现串口打印功能,即: 要实现fputc函数的原因是:pr
2020-05-20
C语言、嵌入式中一些实用的宏技巧 C语言、嵌入式中一些实用的宏技巧
宏打印函数在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。 特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用
2020-05-16
【C语言】认识认识#pragma、#error指令 【C语言】认识认识#pragma、#error指令
本篇笔记分享两个冷门却又不冷门的预处理指令。冷门是因为我们平时可能比较少用(或者说我们的编码能力还没到需要注重这些细节的水平),不冷门是因为这几个指令在一些优秀的C代码中用得很多。比如在Linux内核代码中: #error指令#err
2020-05-10
【Linux】Linux下能编译成功,而Windows下编译不过? 【Linux】Linux下能编译成功,而Windows下编译不过?
前言前两天有群友在群里问了如下问题: 大概就是用C语言写了一个socket程序,在Linux下使用gcc编译没问题,而在Windows下使用gcc(装了MinGW,编译环境已经装好)编译会提示没有找到socket相关的头文件。为什么会出
2020-05-05
【Linux】Linux下应用开发基础 【Linux】Linux下应用开发基础
应用程序开发方式 在Linux下开发应用程序可以调用两种接口来实现,一种是直接调用系统调用接口,另一种是调用库函数来实现。 1、什么是系统调用?系统调用(System Call)是操作系统提供的服务,是应用程序与内核通信的接口。Linux
2020-05-05
【Linux】Pinctrl子系统与GPIO子系统 【Linux】Pinctrl子系统与GPIO子系统
前言之前我们已经通过几篇笔记来学习点灯了: 【Linux笔记】led驱动程序 【Linux笔记】LED驱动实验(总线设备驱动模型) 【Linux笔记】设备树实例分析 但之前的点灯实验我们都得去跟一些寄存器打交道,如: 我们要配置寄存器,
2020-05-05
【Linux】简单认识认识ELF文件 【Linux】简单认识认识ELF文件
几种常见的ELF文件在Linux下,我们经gcc编译之后生成的可执行文件属于ELF文件: ELF是一类文件类型,而不是特指某一后缀的文件。ELF(Executable and Linkable Format,可执行与可链接格式)文件格式
2020-05-05
【C语言】经典、易错的结构体内存对齐问题 【C语言】经典、易错的结构体内存对齐问题
今天给大家带来一道经典、易错的关于C语言结构体内存对齐的题目: 求32bit环境下以下结构体所占的字节数: typedef struct test_struct { char a; short b; char
2020-04-27
【Linux】设备树实例分析 【Linux】设备树实例分析
前言我们可以从LED程序中榨取很多知识:基本的驱动框架、驱动的简单分层、驱动的分层+分离思想、总线设备驱动模型、设备树等。这大多都是结合韦老师的教程学的,这篇笔记结合第6个demo(基于设备树)来学习、分析: 框图下面是LED程序的几个
2020-04-23
【Linux】设备树基础知识 【Linux】设备树基础知识
前言之前分享的笔记:【Linux笔记】总线设备驱动模型中在platform_device部分有简单说明描述设备有两种方法:一种是使用platform_device结构体来指定;另一种是使用设备树来描述。本篇笔记我们就来简单地学习一下设备树
2020-04-11
【Linux】LED驱动(总线设备驱动模型) 【Linux】LED驱动(总线设备驱动模型)
继续来点灯~ 学了一段时间的嵌入式Linux发现LED程序挺香的。。 我们可以从LED程序中榨取很多知识:基本的驱动框架、驱动的简单分层、驱动的分层+分离思想、总线设备驱动模型、设备树等。这大多都是结合韦老师的教程学的,这篇笔记结合第5个
2020-04-10
【Linux】总线设备驱动模型 【Linux】总线设备驱动模型
之前的笔记有分享【Linux笔记】程序设计思想:分层、分离、抽象,按照这样的思想来设计我们的程序可以更容易写出耦合性低、独立性强、可重用性强的代码。Linux内核中更是存在着更多的分离、分层思想的代码,platform平台设备驱动就是用了
2020-04-09
【Linux】程序设计思想:分层、分离、抽象 【Linux】程序设计思想:分层、分离、抽象
本次简单分享的是驱动分层、分离、抽象的一点笔记。 LED驱动的几种代码结构1、LED驱动的第一种代码结构: 在这种代码结构中分层比较简单,驱动层就只分为一层,如果我们的硬件有改动,就得去修改led_drv.c。LED驱动相关的东西都在这
2020-04-08
【工具】网络调试助手的简单使用 【工具】网络调试助手的简单使用
上一篇分享的:AT指令测试WIFI通信模组并获取天气数据,我们在测试AT+CIPSTART这条指令(连接服务端)时给出了三种方法,其中第三种方法是使用一些网络调试助手模拟TCP服务器。本篇笔记就来分享SocketTool这个网络助手简单的
2020-04-06
AT指令测试WIFI通信模组并获取天气数据 AT指令测试WIFI通信模组并获取天气数据
ESP8266是一个很好玩的模块,应该有很多朋友都有玩过了,但也不乏有很多没玩过的朋友,下面进行简单介绍。本次笔记分享的是ESP8266 WiFi通信模组的AT指令测试实验。 ESP8266的认识 首先简单认识一下ESP8266。ESP8
2020-04-05
【实践】基于LiteOS的智慧农业案例实验分享 【实践】基于LiteOS的智慧农业案例实验分享
最近在指导一位读者朋友做毕业设计,该毕设是关于端云互通的,基于小熊派+LiteOS+华为云。 在指导他的过程中我也了解到了不少东西,这里通过一个案例实验(智慧农业)给大家分享一些知识。 实验框图 相关模块简介1、STM32L431RCT
2020-04-05
【C语言】指针知识大汇总 【C语言】指针知识大汇总
指针在C语言中是一块很重要的内容,也是比较难理解的一块内容,我们需要反复理解反复巩固才可以对其有所了解。之前也分享过指针相关的笔记,但是都比较杂,本篇笔记汇总一下指针相关的内容,包含了挺多指针相关的基础知识点。这篇笔记有点长,可以收藏下来
2020-03-14
【Linux】LED驱动 【Linux】LED驱动
前言上一篇我们分享了字符设备驱动框架:嵌入式Linux驱动基础,当时分享的是hello驱动程序。学STM32我们从点灯开始,学Linux驱动我们自然也要点个灯来玩玩,尽量在从这些基础例程中榨取知识,细抠、细抠,为之后更复杂的知识打好基础。
2020-03-12
8 / 15