自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 【嵌入式Linux】19-裸机-通用GPIO驱动编写

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、驱动编写创建相关GPIO文件夹编写bsp_gpio.h#ifndef __BSP_GPIO_H#define __BSP_GPIO_H#include "fsl_common.h"#include "fsl_iomuxc.h"#include "MCIMX6Y2.h"#include "cc.h"/*枚举类型和GPIO结构体*/typedef enum _gpio_pin_direction.

2020-12-14 11:23:48 313

原创 【嵌入式Linux】18-裸机-按键输入实验

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、硬件原理图分析底板按键原理图按键默认为高电平按键按下为低电平按键与芯片连接与芯片的连接对应引脚按键对应的引脚为UART1_CTS 复用为GPIO1__IO18二、实验程序编写创建bsp文件下的key按键驱动编写key.h函数#ifndef __BSP_KEY_H#define __BSP_KEY_H#include "fsl_common.h"#include.

2020-12-14 11:23:00 1148

原创 【嵌入式Linux】17-裸机-蜂鸣器实验

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、硬件原理图分析底板蜂鸣器原理图beep引脚输出低电平时蜂鸣器响beep引脚输出高电平时蜂鸣器不响蜂鸣器与芯片连接与芯片的连接对应引脚蜂鸣器对应的引脚为:SNVS_TAMPER1复用为GPIO05_IO01二、实验程序编写创建bsp文件下的beep蜂鸣器驱动修改beep.h函数#ifndef __BEEP_H#define __BEEP_H#include "fs.

2020-12-09 16:20:40 1308

原创 【嵌入式Linux】16-裸机-BSP工程管理

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、BSP工程管理原理工程管理的目的是为了模块化管理代码,同一个属性的文件存放在同一个目录里面新建所需的文件夹bsp–外设驱动imx6ul–芯片库obj–编译连接产生的文件project–主函数和启动汇编文件imx6ul内部文件project内部文件bsp内部文件clk–时钟驱动程序delay–延时驱动程序led–led灯驱动程序创建bsp_clk.h文件.

2020-12-09 14:29:39 206

原创 【嵌入式Linux】15-裸机-NXP官方SDK使用

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、官方SDK移植1、新建cc.h文件SDK包里面会使用到很多数据类型,所以我们需要在cc.h里面定义一些常用的数据类型2、移植文件设备为MCIMX6Y2MCIMX6Y2.hfsl_common.hfsl_iomuxc.h3、修改移植文件fsl_common.h删除所有包含的头文件,包含进入自己定义的cc.h文件删除**typedef int32_t status_t;.

2020-12-08 20:57:51 844

原创 【嵌入式Linux】14-裸机-模仿STM32驱动开发

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、STM32寄存器结构体详解对STM32而言,使用一个结构体将一个外设的所有寄存器都放在一起STM32F103点灯程序GPIOE->CRL&=0XFF0FFFFF;GPIOE->CRL|=0X00300000; //PE5 推挽输出GPIOE->ODR|=1<<5; //PE5 输出高始化 STM32 的 PE5 这个 GPIO 为推挽输出,需要配置的就是 .

2020-12-08 14:20:22 314

原创 【人人学IoT】03-窄带无线,海量物联

笔记由个人整理此课程源于华为云学院的人人学IoT3.1 NB-IoT=Niubility?NB==>Narrow Band:NB-Iot是一项基于窄带的通信技术NB-Iot的研究和标准化工作时3GPP标准组织进行的NB-M2M --> NB-Clot —> NB-IotNB-Iot架构NB-Iot终端(感知层):数据采集处理,无线连接,发送数据NB-Iot基站(网络层):负责数据信息的接入、传输、转发eNodeB基站:低成本.

2020-12-08 01:21:49 209

原创 【人人学IoT】06-物联应用,无限未来

笔记由个人整理此课程源于华为云学院的人人学IoT6.1 物联网在智慧城市中的应用路灯管理动态调整开关灯时间分区域调整光度使用多种传感器节能智能ZigBee、PLC、NB-Iot、LPWA停车管理反向寻车地磁传感器,ZigBee,LPWA垃圾桶管理通过传感器检测垃圾是否溢出智能水务采用传感器,采集水流水位的情况检测街道水位高低推算清淤需求6.2 物联网在消费电子中的应用一键下单宠物防丢家居物联网提高用户体验提高产品口碑提高厂家的服.

2020-12-08 01:20:30 152

原创 【人人学IoT】05-操作系统,轻量开源

笔记由个人整理此课程源于华为云学院的人人学IoT5.1 物联网操作系统-HUAWEI LiteOS操作系统PC时代:苹果、微软互联网时代:Win。。。移动互联网阶段:iOS、AndroidLiteOS低功耗、快速启动5.2 一个内核很重要-LiteOS KernelLiteOS架构1+N—>一个内核N个中间件内核任务管理:创建、删除、延迟、挂起、恢复、锁定任务调度、解锁任务调度内存管理动态内存:按需分配、内存池中会出现碎片静态内存:分配和.

2020-12-08 01:19:45 199

原创 【人人学IoT】04-物联网关,汇聚回传

笔记由个人整理此课程源于华为云学院的人人学IoT4.1 安全可靠的工业物联网关物联网网关属于网络层传统缺陷:传统网络设备无法满足物联网现场工业级严格要求工业接口协议众多对网关提出了苛刻的要求工业总线:RS485、Modbus无线通信:ZigBee、RF面对开放网络的安全冲击物联网网络运维复杂度高工业物联网关:工业级标准、安全加密、集中管理、即插即用、降低维护成本、提高维护效率4.2 卓有成效的物联网解决方案电力物联网现有缺陷业务监管不足导致经济损失严重.

2020-12-08 01:19:11 796 8

原创 【嵌入式Linux】13-裸机-C语言LED驱动

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、C语言环境搭建1、设置处理器模式设置处理器处于SVC模式。设置CPSR0~4位为10011=0x13读写状态寄存器需要用到MSR和MRS指令MRS:将CPSR寄存器中的数据读出,写入到通用寄存器中MSR:将通用寄存器中的数据读出,写入到CPSR寄存器中2、设置SP指针SP指针可以指向内部RAM,也可以指向DDR512MB的范围为0x8000 0000~0x9FFF FFFF栈大小:2MB=0.

2020-12-08 01:17:38 224

原创 【嵌入式Linux】12-裸机-IMX启动方式

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、硬件启动方式选择1、启动方式的选择6ull支持多种启动方式启动方式是选择BOOT_MODE0和BOOT_MODE1两个IO用来选择启动方式选择USB下载还是内部BOOT启动USB下载:可以通过USB或UART将代码下载到板子上的外部存储设备中内部BOOT启动:执行内部的bootROM代码,这段代码会进行代码初始化,让后从外部设备中将代码复制到指定的RAM(DDR)核心板底板.

2020-12-08 01:16:14 377

原创 【嵌入式Linux】11-裸机-汇编LED驱动

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、汇编简介为什么要是用汇编需要汇编去初始化一些SOC外设使用汇编去初始化DDR(I.MX6U不用)设置sp指针,一般指向DDR,设置好c语言环境汇编由一条一条汇编指令构成格式函数名: 函数体 返回语句LDR从存储器中读取数据LDR R0,=0X0209C004@将寄存器地址 0X0209C004 加载到 R0 中,即 R0=0X0209C004LDR R1,[R0] @.

2020-12-08 01:14:51 179

原创 【嵌入式Linux】10-Ubuntu-shell脚本

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、shell脚本简介shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件shell脚本提供数组、循环、条件判断的等功能shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握shell脚本最基础的部分即可二、shell脚本写法shell脚本是个纯文本文件,命令从上到下,一行一行的开始执行。shell脚本扩展名为.sh,shell脚本的.

2020-07-10 18:11:07 337

原创 【嵌入式Linux】09-Ubuntu-Makefile

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、简介当源码文件比较多的时候就不适合通过直接输入gcc命令来编译,这时候就需要一个自动化的编译工具make:一般说GNU Make,是一个软件,用于将源代码文件编译为可执行的二进制文件,make工具主要用于完成自动化编译。make工具编译的时候需要Makefile文件提供编译文件。只编译更改过的文件,不会重复编译一个文件。Makefile:make工具所使用的文件,Makefile指明了编译规则。二、前期准备.

2020-07-10 18:09:53 254

原创 【嵌入式Linux】08-Ubuntu-vim使用

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、简介与安装vim是linux下的一种编辑器,不光可以编辑文本也可以进行程序的编写安装(我已经安装过了)sudo apt-get install vim二、使用方法vi/vim 文件名命令模式进入vi/vim的初始模式复制复制单个 y 复制单行 yy复制多行 nyy部分复制 ctrl+v 方向键选中内容n行复制 shift+v粘贴p撤销u重复上.

2020-07-10 18:08:31 158

原创 【嵌入式Linux】07-Ubuntu-连接文件

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、连接文件Linux有两种连接文件:符号连接(软连接)和硬链接软连接:类似Windows下的快捷方式硬连接:通过文件系统的inode连接来产生新文件名,而不是产生新文件二、硬连接创建硬连接ln 源文件名 创建硬连接的文件名特点:创建出来的硬连接文件与源文件的inode一样,修改其中一个另一个也会更改,但删除源文件,硬连接文件仍然可以正常使用根据硬链接文件的特点,我们可以通过给文件创建硬连接.

2020-07-10 18:07:30 302

原创 【嵌入式Linux】06-Ubuntu-权限管理

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、文件权限linux系统文件类型有七种目录普通文件符号链接套接字文件二进制文件字符设备文件命名管道文件d-lsbcp文件权限是指不同的用户或用户组对某个文件拥有的权限,文件的权限分为三种:r:读w:写x:可执行-rwx-rwx-rwx—就是文件权限,第一位表示文件类型,剩下的每三位表示一组权限。分别对应拥有者权限、拥有者所在组内成员权限、其他用户.

2020-07-10 18:06:52 207

原创 【嵌入式Linux】05-Ubuntu-用户和用户组

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、用户Linux是一个多用户操作系统,不同的用户拥有不同的权限。可以查看和操作不同的文件。 Ubuntu有三种用户初次创建的用户root用户普通用户初次创建的用户权限比普通用户多,但是没有root用户多,初次创建的用户可以创建普通用户Linux中用户记录在/etc/passwd中Linux用户密码记录在/etc/shadow这个文件内每个用户都有一个ID,叫做UID。二、用户组为.

2020-07-08 20:14:12 246

原创 【嵌入式Linux】04-Ubuntu-磁盘管理

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、准备工作准备一个空的U盘或者SD卡(应为FAT32的)将U盘连接到VM虚拟机中查看VM虚拟机的USB服务是否开启,单击右键开启服务选择右下角USB图标,右击连接至虚拟机二、磁盘文件打开终端进入根目录的dev文件夹,查看sd开头的文件断开U盘,再次查看U盘设备文件是sdb,sdc和sdc1。由于我使用的是读卡器所以会出现两个U盘文件sdc和sdb,而sdc1是U盘的第.

2020-07-08 20:13:43 152

原创 【嵌入式Linux】03-Ubuntu-文件系统结构

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、文件系统结构g根目录:Linux下“/”就是根目录!所有的目录都是由根目录衍生出来的。/bin存放二进制可执行文件,这些命令在单用户模式下也能够使用。可以被root和一般的账号使用。/bootUbuntu内核和启动文件,比如vmlinuz-xxx。gurb引导装载程序。/dev设备驱动文件/etc存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。.

2020-07-08 20:12:47 171

原创 【嵌入式Linux】02-Ubuntu-shell命令

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux常用shell命令查看版本号uname -a查看当前路径下的文件ls ls -l 查看文件详情 ls -al 查看文件详情包括隐藏的进入到某一个路径里面cd cd .. 返回上一目录 cd / 进入根目录 cd /home 进入家目录当前路径显示pwd 从根目录开始打印当前路径创建文件夹mkdir mkdir [路径]/新文件夹创建文件touch .

2020-07-08 20:12:19 181

原创 【嵌入式Linux】01-前言

此笔记由个人整理塞上苍鹰_fly课程来自:正点原子_手把手教你学Linux一、电脑选择CPU核心越多越好,主频越高越好。内存最少16GB硬盘1T以上,300GB给Ubuntu二、虚拟机安装为什么安装虚拟机Ubuntu基本只做编译用,Windows是主要的开发环境安装VMware点击下一步选择我接收,点击下一步更改存储位置,点击下一步取消勾选,点击下一步下一步点击安装安装成功输入密钥安装成功.

2020-07-08 20:07:52 170

原创 【C语言】10-动态内存分配

此笔记由个人整理塞上苍鹰_fly课程来自:尚观C一、动态内存void *malloc(size_t size);void free(void *ptr);void *calloc(size_t nmemb,size_t size);void *realloc(void *ptr,size_t size);案例:申请空间与释放空间#include "stdio.h"#include "stdlib.h"int main(){ int *p = NULL; p = (i.

2020-07-03 18:07:51 147

原创 【C语言】09-构造类型

此笔记由个人整理塞上苍鹰_fly课程来自:尚观C语言一、结构体产生及意义可以存储不同类型的信息,在一块连续的空间类型的描述格式最后的分号一定要加结构体只是描述struct{ 数据类型 成员1; 数据类型 成员2; ... ...};案例#include "stdio.h"#include "stdlib.h"struct simp_st{ int i,j; float f; char ch;};int m.

2020-07-03 18:07:07 206

原创 【C语言】08-函数调用

此笔记由个人整理塞上苍鹰_fly课程来自:尚观C语言一、函数的定义格式数据类型 函数名 ([数据类型 形参名,数据类型 形参名,…])#include "stdio.h"#include "stdlib.h"//argc:从终端计算传递多少个参数过来//argv:用来保存从命令行传入传输的列表int main(int argc,char *argv[]){ int i; printf("argc = %d\n",argc); //for(i .

2020-06-29 21:30:18 215

原创 【C语言】07-指针

此笔记由个人整理塞上苍鹰_fly课程来自:尚观C语言一、指针基础知识变量与地址的关系变量名:是用户对某一个内存空间的抽象表示地址:固定不变的值,不会因为变量名的改变而改变。等价于指针指针与指针变量指针:具有指向作用的地址就是指针,地址是常量指针变量:能够保存地址的变量就是指针变量,指针变量是可以被改变的直接访问与间接访问直接访问:直接通过地址值访问得到此地址存放的内容间接访问:通过指针变量所存放的地址值访问的到此地址存放的内容不管你的指针是什么类型,是几级指.

2020-06-22 21:35:55 199

原创 【C语言】06-数组

此笔记由个人整理尚观C语言一、一维数组定义[存储类型] 数据类型 标志符 [下标]#include "stdio.h"#include "stdlib.h"#define M 3int main(){ int arr[M];//定义,初始化 printf("%d\n",sizeof(arr)); printf("arr = %p",arr); for(i = 0;i < M;i++) { scanf.

2020-06-15 15:05:13 724

原创 【C语言】05-流程控制

此笔记由个人整理尚观C语言一、流程控制简介顺序定义:语句逐句执行选择定义:出现了一种以上的情况循环定义:在某个条件成立的前提下,重复执行某个动作关键词选择:if-else、switch-case循环:while、do-while、for、if-goto辅助控制:continue、break二、语法详解1)if-else格式if(exp) cmd1;//如果成立执行cmd1else cmd2;//如果不成立执行cmd2

2020-06-13 21:39:16 278

原创 【C语言】04-输入输出

此笔记由个人整理尚观C语言一、格式化输入输出函数:scanf、printfprintfint printf(const char *format, ...);format:"%[修饰符]格式字符"printf("%[修饰符]格式字符,[输出表项]");#include "stdio.h"#include "stdlib.h"int main(){ int a = 1,b = 2; printf("hello world!\n"); printf("a .

2020-06-13 21:32:01 427

原创 【C语言】03-数据类型

此笔记由个人整理尚观C语言一、数据类型(基本数据类型)所占字节数存储区别(254)10 ->(1111 1110)2 ->(376)8 ->(FE)16256 B11111110 0376 0xFE需要强调的有0->48 A->65 a->97 (大z和小a之间不是连续的)不同类型的数据间如何进行转换(隐式、显式)隐式转换int i;float f;double.

2020-06-13 21:30:47 233

原创 【C语言】02-基础概念

此笔记由个人整理尚观C语言一、编写思路以hello world为例对写程序的思路提出要求#include "stdio.h"int main(void){ printf("hello world!\n"); return 0;}结果头文件包含的重要性(出现段错误时,先看此函数所用的头文件是否包含)以函数为单位来进行程序的编写申明部分+实现部分return 0;例如hello world中没有return 0 ;则返回值为13.

2020-06-13 21:30:00 120

原创 【C语言】01-前言

此笔记由个人整理尚观C语言一、C语言发展历史时间语言1960ALGOL语言1963CPL语言1967BCPL1970B语言1973C语言特点基础性语言语言简洁,紧凑,方便,灵活(指针)运算符,数据结构丰富结构化,模块化编程移植性好,执行效率高允许直接对硬件操作学习建议概念的正确性动手能力主动优秀的程序段(首先有写的前提)大量练习,面试题(力扣)二、后续思路基本概念数据类型,运算符和表达式.

2020-06-07 00:10:17 186 1

原创 【LiteOS】15-总结

LiteOS是我使用的最先接触的操作系统,也是第一次使用的操作系统。通过这一个礼拜的学习和使用,对于这个操作系统也有了自己的认识,不光是内核部分的,也有关于如何移植和使用这个操作系统的。LiteOS给我最直观的感受就是简洁直观,简单易上手,对于初学者十分友好,对于之后的嵌入式学习的道路也有了一个最基础的铺垫,希望在之后的学习中能够利用它做出一些有趣的实物作品,来加深对于操作系统的认识。【LiteOS】01-物联网操作系统概述【LiteOS】02-华为云物联网平台【LiteOS】03-基于模板创建.

2020-06-03 00:02:07 554

原创 【LiteOS】14-移植-WiFi

此笔记由个人整理华为IOT LiteOS开发实战营第七天一、WiFi模块ESP8266内置32位CPU,可以兼作应用处理器内置TCP/IP协议栈深度睡眠低功耗2ms内唤醒工作温度:-40~125二、相关配置NB-IoT.config## LiteOS for STM32L431_BearPi Project configuration For IoT Link### This is a demo project and hope you enjoy it.

2020-06-02 23:44:28 1650

原创 【LiteOS】13-移植-按键

此笔记由个人整理华为IOT LiteOS开发实战营第七天一、控制移植定义变量(在数据上报时使用)uint8_t Light_state;uint8_t Motor_state;按键一代码//按键1任务void Key1_task_entry(){ if (Light_state == 0) { //此处灯控制开 HAL_GPIO_WritePin(IA1_Light_GPIO_Port, IA1_Light_Pin, GPIO_.

2020-06-02 23:43:34 356

原创 【LiteOS】12-移植-LCD屏

此笔记由个人整理华为IOT LiteOS开发实战营第六天一、显示图片图片编码使用画图软件打开想要显示的图片将图片的分辨率调整为240*240可以通过软件查出想显示位置的像素坐标在Image2lcd软件中将图片转化为c文件设置最大宽度和高度,选择高位在前,16位色rgb565保存到任意文件夹将文件夹中的c文件拖入vscode在gcc目录下的project.mk中为c文件添加路径,改为c文件的名称具体步骤创建lcd显示任务static int lcd_ta.

2020-06-02 20:51:03 526

原创 【LiteOS】11-移植-通信协议

此笔记由个人整理华为IOT LiteOS开发实战营第五天一、LWM2M协议LWM2M是一套适用于物联网的协议轻量级适用于物联网LWM2M主要面向基于蜂窝的窄带物联网场景下的物联网应用,具有覆盖广、连接多、速率低、成本低、功耗低、框架优等特点LWM2M实现了三个逻辑实体LWM2M Server:接入机,平台服务器LWM2M client:客户端,负责执行服务器的命令和上报结果Bootstrap server:引导机,负责配置LWM2M客户端在这些实体中定义了,协议定义.

2020-06-02 20:49:45 473

原创 【LiteOS】10-移植-NB模组

此笔记由个人整理华为IOT LiteOS开发实战营第四天一、NB-IoT模组BC35-GBC35-G是移远基于海思芯片研发的一款NB-Iot模组,支持全球频段B1、B3、B5、B20、B28,同时符合3Gpp R14标准物联网卡通过物联网卡和BG35-G模块连接NB网络实现上云二、具体步骤包含头文件#include <oc_lwm2m_al.h>#include <link_endian.h>ip地址和端口号#define cn_endpo.

2020-06-02 20:49:01 494

原创 【LiteOS】09-移植-传感器

此笔记由个人整理华为IOT LiteOS开发实战营第三天一、传感器温湿度传感器:SHT30光照强度传感器:BH1750LED植物灯排风扇电机二、具体步骤创建工程,选择hello_world_demo包含扩展板的头文件#include <E53_IA1.h>创建传感器采集任务static int app_sensor_collect_entry(){}调用扩展板驱动程序void Init_E53_IA1(void);void E5.

2020-06-02 20:48:06 369

空空如也

空空如也

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

TA关注的人

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