自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 WAPI的学习

无线AP与AC详解 - 小王同学! - 博客园 (cnblogs.com)产品技术-WAPI技术介绍-新华三集团-H3C本期话题:WAPI技术简介 - WLAN技术专栏 - 技术甜甜圈 - 新华三集团-H3C【WLAN从入门到精通-故障案例篇】第1期——有线用户可以连接打印机,无线 ... (huawei.com)...

2021-11-30 10:48:47 203

转载 编译、移植openwrt遇到的问题

编译openwrt遇到的问题python、python3版本过低升级python、python3:(14条消息) ubuntu安装python3.7,并更新python默认指向为python3.7_u014775723的博客-CSDN博客_ubuntu安装python3.7

2021-11-29 16:57:05 357

原创 Git命令集

Git使用前必须配置用户名和邮箱地址 $ git config --global user.name 用户名字(中文名字、名字中间有空格要加“”) $ git config --global user.email 邮箱地址 查看配置 $ git config --global --list Git的提交分为2步先将工作目录中的修改保存到暂存区 再将暂存区中的修改统一提交到代码库一次提交修改的内容必须是原子的,要么所有文件全部改完,要..

2021-09-28 18:28:51 246

原创 STM32------->第四天,cubemx配置硬件接口,温湿度传感器,Coap协议,电信云平台操作

cubemx 配置硬件接口,参数可以参考stm32f0xx_hal_adc.hstm32f0xx_hal_uart.hstm32f0xx_hal_tim.h..................温湿度传感器(单总线)看温湿度传感器模块:第2pin 连到P2 的第2 pinstm32 通过pb8 连到 dht11 的第2pinCoap 协议CoAP是IETF为满足物联网,M2M场景制定的...

2021-09-26 18:48:47 1077

原创 STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传

spi 补充uart通讯: 通讯双方波特率,帧格式必须一致spi通讯: 通讯双方极性,相位一致Lcd/*************************************************函数名:Lcd_Clear功能:全屏清屏函数入参函数:填充颜色COLOR返回值:无*************************************************/void Lcd_Clear(uint16_t Color) .

2021-09-26 18:34:49 2078

原创 STM32-------->第二天,Bootloader,启动文件分析,异常向量表,定时器,滴答定时器,独立看门狗,DMA总线,SPI--LCD

bootloadermain flash memory -------- 主闪存, 用户的程序烧写到这里system memory --------- 系统主存, 芯片厂商的启动程序烧写在这里, 固化的STM32F051K8U开发板的启动模式是从主闪存启动从系统存储器启动, 主要是用在isp(在线编程, 比如量产烧录代码)根据选定的启动模式,主闪存存储器,系统存储器或 SRAM 按照以下的说明访问:● 从主闪存存储器启动 : 主闪存存储器被映射到启..

2021-09-23 19:15:57 330

原创 STM32------>第一天,stm32的简介、cubemx介绍、开发方式、GPIO编程、HAL库如何操作寄存器、时钟树、urat及printf实现、外中断、ADC

初识stm32意法半导体的32位处理器stm32 处理器命名规范:cubemx介绍cubemx 是一个图形化的配置工具, 还是一个代码生成器 , 配和 keil、iar等ide(开发环境)使用官网地址: http://www.st.com/en/development-tools/stm32cubemx.html开发方式寄存器--------标准库-------- 寄存器操作,将一些基本的寄存器操作封装成函数HAL库---------将硬件接口抽象成了一个抽.

2021-09-22 19:10:15 968

原创 人工智能------>第四天,深度学习,人工神经网络,卷积神经网络,opencv,音频采集、播放,百度AI平台的使用

深度学习 以神经网络算法为基础的机器学习 深度学习算法: BP神经网络 卷积神经网络 循环神经网络 基于注意的循环神经网络 对抗神经网络 神经网络 脑神经网络 人工神经网络 一堆函数的网络卷积神经网络 使用卷积运算作为神经元函数的神经网络,我们称之为卷积神经网络 使用范围: ...

2021-09-18 17:50:44 2387 1

原创 人工智能------>第三天,进行数据转换的时刻,Tensorflow,常见的机器学习算法

什么时候需要、能够进行数据的转换 训练前转换 ->适合静态模型:即模型不会随着用户数据的变化而变化 优势: 数据的转换并不会影响模型的使用 当数据转换的算法发生更改时,不会影响模型的重新训练 缺点: 不能解决模型随用户数据变化的需求 当数据转换的算法发生更改时,需要重新将所有数据进行重新转换 训练时转换 ->适合动态模...

2021-09-17 18:23:43 294 1

原创 人工智能----->第二天,Numpy,Matplotlib,如何构建机器学习问题,数据集的收集、采样、拆分,数据的转换

numpy 构造numpy数组import numpy as np''' linspace()方法:在某个范围内取等差数列 参数: start:起始元素值 stop:终止元素值 num:元素个数'''a = np.linspace(0,100,num=101)print(a)matplotlib(python中的一个图形化库) 安装:pip install matplotlib -i https...

2021-09-16 18:41:26 183

原创 人工智能------>第一天,人工智能简介,机器学习简介,Numpy

人工智能简介 人工智能就是由计算机来表示和执行人类的智能活动。——《人工智能的研究目标》 人工智能(AI, Artificial Intelligence) ->相关学课 ->数学 ->计算机 ->统计学...

2021-09-15 18:55:52 2098

原创 python------->第三天,面向对象,图形化编程,数据库

面向对象 ->类的抽象和定义 1.根据什么来抽象 (根据各种业务逻辑),即一堆实例 2.类抽象都要抽象啥 抽象的是提供一堆实例的共性 共有属性 共有方法 3.如何将自然语言转换为程序员使用的、可以看明白的,用来分装类的语言: UML(统一建模语言)(一张图) 要求能看懂(工作中的要求...

2021-09-14 19:26:35 284

原创 笔试及面试技巧

如何看一个指针的类型?先找到指针变量,先往右看,再往左看,先和谁结合就是什么,遇到小括号就被挡住,那就先看反方向

2021-09-11 12:00:12 126

原创 python----->第二天,数据类型,三种基本结构,函数,文件操作,打包、导包

数据类型:list(列表) 可以理解为python中的数组: 1.数组元素类型可以不同 2.数组元素个数没有固定 3.数组的内容可以更改 但是,如果数组的元素是字符串、元组,想要更改字符串或者元组里面的内容是不可以的,因为这两个数据是不可以更改的 可以理解为:QList <void *> arr;例:l = [1,2,3,4,5]l1 = [1,3.14,-5,"tom",[1,...

2021-09-10 14:17:09 244

原创 Python----->第一天,环境搭建,语言的介绍,脚本的编写和执行,数据类型

1.python是什么? ->pyhton是一种解释器 ->python是一种解释型编程语言2.Python的发展历史: python是由Guido van Rossum(吉多·范罗苏姆/人称龟叔)在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。 python本身也是由诸多其他语言发展而来的,这包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell和其他脚本语言等等。 py...

2021-09-09 18:33:25 227

原创 驱动开发------>第六天,总线设备,块设备驱动,网络设备驱动

总线设备内核将总线控制器与总线协议的实现分离,驱动开发人员只需要实现硬件控制的部分,总线协议由总线的核心驱动实现主控制器硬件驱动实现消息的收发,消息格式由上层的核心驱动实现引脚功能可以使用pinctrl节点定义,pinctrl节点一般由内核事先定义好,只需要修改设备树节点,增加对应的引脚驱动I2C从设备方法:1. 通过I2C从设备内核态驱动 优点:实时性好2. 通过I2C主设备提供的字符设备接口实现用户态驱动(应用程序) 优点:不会调用内核的GPL接口,不存在开源风险,应用程序...

2021-09-07 18:33:52 121

原创 驱动开发------->第五天,中断处理和同步互斥机制

中断处理:进程和中断上下文的区别:1. 内核栈不同(进程栈,中断栈)2. 中断上下文中不允许睡眠(触发调度)查看系统中的中断源和中断次数:/proc/interrupts使用request_irq注册中断处理函数,使用的中断号是逻辑中断号irqreturn_t irq_handler(int irq, void *arg)中断处理函数的返回值:处理完成返回IRQ_HANDLED,不是本设备产生的中断IRQ_NONE...

2021-09-02 19:01:54 379

原创 驱动开发------->第四天,物理内存,设备模型

物理内存:内核使用list_head结构体实现通用双向链表程序中使用地址都是虚拟地址,硬件寄存器地址是物理地址MMU根据进程页表将虚拟地址翻译为物理地址,操作系统会为每个进程创建一个页表页表中记录虚拟地址和物理地址的对应关系,当进程切换到CPU运行时,操作系统会将页表的地址放到CP15寄存器中供MMU查找Linux在ARMv7的处理器上使用2级页表,可以减少每个进程页表占用的物理内存物理内存在进程第一次访问(读或写)的时候由内核的缺页中断处理函数分配物理内存分配的最小单位是页面,一般情

2021-09-02 18:59:12 136

原创 驱动开发------->第三天,设备文件

Linux设备文件Linux大部分设备使用文件接口和上层应用程序交互字符设备和块设备区别:字符设备:直接打开设备文件操作,操作最小单位是字节块设备:一般通过文件系统操作,操作的最小单位是块网络设备:没有设备文件,一般通过套接字操作,操作的最小单位是字节伪字符设备(pseudo):没有实际物理硬件的设备文件/dev/null:写入的内容全部丢弃/dev/zero:读出的内容为全0/dev/random:产生随机数设备文件一般放在/dev目录中创建设备文件:mknod 文件名

2021-08-31 18:25:44 164

原创 驱动开发----->第二天,内核模块

内核模块代码结构:1. 头文件linux/module.h2. 定义初始化函数 init_module,成功返回0,失败返回负值(错误码*-1),模块不加载3. 定义卸载函数 cleanup_module (可选)cat /proc/kallsyms 查看内核中定义的所有符号(函数,全局变量)使用module_init和module_exit注册初始化和卸载函数:当驱动编译为单独的内核模块时,驱动的初始化和卸载函数会重命名为init_module和cleanup_module。当驱动和..

2021-08-30 18:25:27 255

原创 驱动开发------->第一天,驱动基本概念

初学目标1. 通过内核代码的学习,更好的了解上层应用程序的工作原理。2. 通过驱动开发,为后续从事内核开发做准备。3. 可以看懂上游厂商提供的驱动代码,掌握内核开发使用的调试方法。4. 了解驱动的工作原理,可以编写简单的驱动代码。什么是操作系统内核(Kernel)作用:管理硬件,对上层应用提供API接口Linux内核官网:https://www.kernel.org/内核版本的选择:尽量选择Longterm版本,只修改BUG,支持新硬件,不新增功能,接口稳定,问题少。发行版使

2021-08-27 19:15:44 1276

原创 系统移植--------->第四天,ubooot的制作流程、浏览ubooot源码的方法、linux内核配置和编译概述、init进程的分析

制作uboot:源码, vi Makefile , 指定交叉编译工具链 vi boards.cfg ------------ 查看到已支持的板子, make origen_config , make 生成origen板子的uboot uboot 源码不支持当前的开发板 查看uboot 支持不支持当前开发板的处理器 ,不支持结束 参考uboot已支持开发板orgien(和当前开发板是同样的处理器) 拷贝origen开发板的c代码 拷贝origen开发板的配置文件 vi b...

2021-08-24 19:47:47 186

原创 系统移植--------->第三天,u-boot的工作原理

处理器的内存布局图:reset 之后, 从0地址运行, 运行的就是iROM 里的程序(芯片出厂的时候厂家固化的程序)------------ BL0下图就是BL0 的功能页表: 进程的虚地址 和 物理地址的对应关系, TLB 就是页表在MMU 里的缓存BL0 主要工作是禁止看门狗, 禁止中断, 禁止MMU , 禁止数据缓存, 使能指令缓存, 清空页表缓存和无效缓存,初始化栈, 初始化全局变量和静态变量 ,异常向量表的处理, 设置时钟和主频通过拨码开关, 获取启动.

2021-08-23 19:31:42 167

原创 系统移植---------->第二天,了解bootloader(u-boot)引导加载程序、电子硬盘(MMC)的命令和变量

bootloader 的操作模式:自启动模式:在这种模式下,Bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入交互模式:在这种模式下,目标机上的Bootloader将通过串口或网络等通信手段从开发主机(Host)上下载内核映像和根文件系统映像等到RAM中。u-boot:命令:?---------- 查看支持的命令boot ----------- 执行bootcmd 变量的内容run var1 ---------

2021-08-20 20:28:07 333

原创 系统移植--------->第一天,linux命令

gcc -v --save-temps ---------- 查看编译过程 crosstool-ng 制作交叉编译工具链下载源码包:http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.23.0.tar.xzautoreconf./configure --enable-localmakemake install命令:./ct-ng help./ct-ng list-samples./.

2021-08-20 20:23:34 121

原创 ARM------->第七天,ADC模块、Qt串口控制助手

1.ADC模拟量转换为数字量模拟量:连续的 比如,温度 电压 电阻 高度 湿度。。。数字量:离散的在2.QT串口

2021-08-18 20:46:12 414

原创 ARM-------->第六天,IRQ中断

irq中断按下按键k2或者k3就可以产生irq中断回忆异常的处理流程:5种异常模式 7种异常源0地址有异常向量表:每一种异常源都会有一个固定的地址,在这个地址处,是一个跳转到对应的异常处理函数的跳转指令当异常产生时,会发生哪些事情呢?ARM core会自动:将cpsr的值拷贝到spsr 将返回值拷贝到lr(将pc的值赋值给了lr,但是bl是将pc-4的值赋值给了lr) 设置处理器的状态为ARM态 设置处理器的工作模式为相应的异常模式 手动设置中断禁止位(看情.

2021-08-17 20:07:24 3161

原创 ARM-------->第五天,uart通信、I2C和SPI

uart通信异步的收发器异步:随机的,没有时钟线同步:有时钟线单工:A->B半双工:a->b 或者 b->a全双工:a->b b->a串行通信:一次只发送一个bit位波特率:每一秒发送的数据的位数uart控制器工作原理:注意:在设置波特率时,因为每一位都会采样16次,所以最终需要的时钟是100M/(115200*16)HZ采样16次,将中间789次的平均值作为最终的结果,这样可以确保读到...

2021-08-15 17:14:38 1403 3

原创 ARM---------->第四天,点亮led灯、看门狗工作原理、PWM(设置蜂鸣器)

点亮led灯----裸机编程流程裸机编程:查看原理图,找到引脚点亮LED3查看devboard找到led3在coreboard里找CHG_FLT找到引脚是GPX1_0查看芯片手册,找寄存器在数据手册里搜gpx1,找到下面两个寄存器GPX1_0 ... GPX1_7都是由这两个寄存器控制的设置GPX1_0为输出功能:将GPX1CON的0-3位设置为0x1 地址:0x1100 0c20设置GPX1_0输出1:将GPX1DAT的第0位设置为1 ...

2021-08-15 16:03:25 963 2

原创 ARM----------->第三天,汇编指令

1.块存储指令(批量操作)ldm:将一块连续空间的内容拷贝到一组寄存器中stm:将一组寄存器中的内容拷贝到一块连续的空间中i:地址变化方向从小到大d:地址变化方向从大到小a:指针指向的空间没有值,需要先操作,后增加b:指针指向的空间有值,需要先增加后操作ia ib da dbARM最常用的是ialdmia stmialdmia r0!,{r1-r6} @将r0地址处的内容依次拷贝到r1-r6寄存器中,!表示会更新r0的值stmia r0,{...

2021-08-12 20:53:35 885 1

原创 ARM------->第二天,汇编指令

1.什么是汇编指令汇编指令:是机器指令的助记符,经过编译后会得到一串01010组成的机器码,可以由cpu读取执行伪指令:本质上不是指令,只是和指令一起写在代码中,是指导编译过程的,是编译系统提供的,不会生成对应的机器码2.数据搬移指令(指令格式)mov r0, #1 @将立即数1赋值给r0mov r1,r0 @将r0的值赋值给r1mov r2, r0, lsl #1 @将r0的值左移1位赋值给r2mov r3, r2, lsr #2 @将r2的值右移...

2021-08-11 19:07:58 1559

原创 ARM------>第一天,ARM体系结构

嵌入式:操作硬件的软件应用程序+硬件 应用程序+操作系统+硬件ARM是学习嵌入式的入门,也是学习系统移植和驱动的基础1.预备知识0:低电平 1:高电平二极管:单向导通 开关三极管:电流放大 小电流控制大电流 开关场效应管:电压放大门电路:计算机的硬件组成部分输入输出设备----->IO设备 存储器 (寄存器---->cpu内部高速存储器 内存---->掉电丢失数据 外存--...

2021-08-10 19:39:08 699 4

原创 QT小项目------>记事本

mainwindow.h文件:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QFileDialog>//文件对话框#include <QFile>//文件类#include <QFileInfo>//文件信息类#include <QDir>//目录类#include <QDebug>//调试类,用来打印输出#incl

2021-08-09 19:51:15 378

原创 Qt-------->第六天,Qt高级编程

1 IO 进程 线程 IO------->Qt第五天笔记 QFile file("1.txt");file.open();file.read();file.write QFileInfo info(文件名);info.getname 1 进程 QProcess::execute--->启动新进程(windows自带、QT)#include "widget.h"#include "ui_widget.h"#include <QPro...

2021-08-04 19:47:51 511

原创 Qt--------->第五天,绘图事件

绘图事件------>paintEvent(QPaintEvent &event)1 画线 分析:1 需要鼠标移动的点值 如何获取鼠标移动的点值?通过鼠标移动事件函数获取---->mouseMoveEvent(QMouseEvent &event)-->event->pos() 如何保存获取到的鼠标点值?用链表保存 Qlist<QPoint> list; 2 将保存的点值绘制成一条线 在绘...

2021-08-03 20:00:18 200

原创 Qt-------->第四天,事件

事件(函数):QT已经预先定义好的某些信号对应的处理动作函数。若QT工程中要使用这些事件函数,需要重写事件函数事件函数无需用户主动调用,也无需用户将其和某个信号关联,这些事件函数就是对应信号的槽函数,当信号发出,事件函数会被系统自动调用。 1 键盘事件 键盘按压事件: keyPressEvent(QKeyEvent &) 键盘释放事件:keyReleaseEvent(QKeyEvent &)2 鼠标事件 鼠标按压事件:mousePressEvent(QMouseEv...

2021-08-02 19:57:40 229

原创 Qt------------>第三天,添加资源文件、布局、主窗体

1 添加资源文件 资源文件:在qt工程中非代码性的文件为资源文件,包括图标、图片、动图等1.1显示资源图标 1 给工程创建一个存放资源的文件夹,然后将资源图片添加到该文件夹 2 QIcon icon(":/1.png"); 3 ui->pushbutton->setIcon(icon);#include "widget.h"#include "ui_widget.h"#include <QIcon>//图标类Widg...

2021-07-31 15:36:07 305

原创 Qt------------------->第二天,对话框、定时器

1 对话框窗体 定义:对话框是一种窗体,是一种上浮在底层窗体上的顶层窗体,出现在程序的最上层,用来实现主窗体和用户的短期任务交互。 特点:1 一般用来实现那些只是暂时存在的用户界面 2 对话框窗体是一个独立的窗体,一般有父窗体 3 对话框窗体没有最大化、最小化 常见的对话框窗体:信息对话框 告警对话框 文件对话框 颜色对话框 字体对话框 ... QT提供了20几个对话框类 创建QT工程时,QT提供了3种基类:...

2021-07-29 20:47:02 270

原创 Qt-------------->第一天,Qt介绍、信号和槽

1、QT介绍 QT是一种跨平台的C++图形用户界面编程框架;是一种C++类库; 500多个c++类,core模块 gui模块 network模块 sql模块 。。。2 、创建QT ui工程 Q_OBJECT:支持信号和槽的机制 QT UI界面上两个子控件如何实现数据通信?用信号和槽的机制3、信号和槽 信号:信息的发送方发出的指令 槽(函数):信号的接收方对信号做出的响应动作(函数) 特点: 1 专门用来响应信号的函数,当对应的信号发...

2021-07-28 20:39:41 185

原创 C++--------------->第八天,C++关键字、异常处理、转化函数、智能指针

1 c++关键字 1.1 explicit关键字 作用:用来修饰类中的构造函数,防止单参数构造函数发生隐式类型转化 (将基本数据类型转化成类类型) 特点:1 只能修饰类中的构造函数 2 explicit关键字只对一个参数的构造函数有效,如果构造函数的参数大于等于2,该关键字无效。(多参数的构造函数本身不会发生隐式类型转化)#include <iostream>using namespace std;clas...

2021-07-23 18:53:27 150 2

空空如也

空空如也

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

TA关注的人

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