自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Samba 总是需要输入网络凭证

用户名是 cat /etc/samba/smb.conf,查看 valid users = mxw 为用户名。而不是其他账号名或者用户名;密码是 需要记住安装samba服务器时,自己设置的password;

2024-04-03 15:21:01 236

原创 Xshell Mobaxterm等终端工具连接不上服务器,显示 SSH服务器拒绝密码。请再试一次。解决办法

(1)需要查看配置SSH密钥时,输入的password密码和当前users_name。而是mxw@ubuntu中的user_name【mxw】密码需要自己去找一下配置SSH密钥时输入的password;注意次user_name不是。所以需要将fl改为:mxw。Account帐户名。

2024-04-03 15:11:38 365

原创 线性表 - 链表

线性表 - 链表将线性表L=(a0,a1,……,an-1)中各元素分布在存储器的不同存储块,称为结点,通过地址或指针建立它们之间的联系,所得到的存储结构为链表结构/*================================================================ * 文件名称:linklist.c * 创 建 者: * 创建日期: * 描 述: * ===========================================

2022-04-17 12:52:40 532

原创 线性表 - 顺序表

数据结构 - 线性表程序 = 数据结构 + 算法【1】数据结构数据结构 是数据的逻辑结构、存储结构及其运算逻辑结构:表示的是数据的抽象关系,抽象成人类能够描述出来的一种思想。 线性(Linear)结构:有唯一的前趋和唯一的后继,头没有前趋,尾没有后继(、队列、链表) 树形(Tree)结构:有唯一的前趋,后继可以是0个、1个、多个,根节点没有前趋 图形(Graph)结构:关系比较复杂,前趋和后继的个数不固定存储结构:数据在在内存空间中的分配和占用结构。 顺序存储:数据在内存中是连续存储的

2022-04-17 10:34:59 598 1

原创 Vscode 跳转失败/F12失效

Vscode 跳转失败/F12失效参考文章:vscode 未找到 任何定义定义_努力是明天快乐的源泉-CSDN博客_vscode 未找到任何定义需要下载一个cpptools-win32.vsix 工具包,在vscode扩展工具中安装,重启vscode即可正常跳转...

2022-02-17 14:29:50 5096

原创 kfifo在MCU中的使用

kfifo在MCU中的使用

2021-08-11 19:32:27 201

原创 看门狗定时器

看门狗定时器(WTD)WTD概述一般很多嵌入式设备工作在无人环境下,不能实时监测系统工作的状态,因此需要用看门狗定时器来自动检测重启设备。看门狗定时器是系统内部的定时器。看门狗定时器用于检测系统设备在受到噪声和系统误差等故障干扰造成设备死机,可以通过看门狗定时器产生一个复位信号 或 请求中断服务,自动恢复让系统重新运行。WDT与PWM定时器的不同之处在于WDT产生复位信号。WTD实现过程1)PCLK经过一级分频器和二级选择器后产生看门狗时钟后,通过计数逻辑模块WTCNT,开始计数。2)

2021-05-06 14:13:13 4708 7

转载 STM32启动文件详解:Start.S

STM32启动文件详解:Start.S链接: link.

2021-04-29 18:27:52 1348

原创 Ctrl 键失效或者 Ctrl + D键失效,不灵

(1)Windows + R(2)输入:CHKDSK D:f (注意中间有空格)

2021-03-08 17:15:05 6434 1

原创 使用J-TAG烧录程序,未重新上电时,低功耗时MCU会重启

需要关闭:SysTickSysTick->Ctrl = 0;

2021-01-19 15:18:11 420

原创 I2C常见问题总结

I2C常见问题总结(1)I2C检查错误工具:逻辑分析仪(2)测量一下I2C是否有上拉电阻4.7kΩ(3)SDA和SCL当时用硬件模拟时,SCL 要配置为开漏输出mode;SDA需要配置为输入模式,注意不可配置为PP推挽模式,因为有时候会出现SCL和SDA的电压拉不到0V伏的情况,会导致输出的数据出错(4)和硬件工程师确认SCL和SDA两条线,有没有因为项目优化硬件导致两条线移位置或者交换了GPIO口,导致从机收到错误的 数据(1)I2C检查错误工具:逻辑分析仪有时候,我们用示波器测量I2C的SCL和S

2021-01-12 20:06:35 4524 1

原创 VSCode启动终端报错:终端进程启动失败:shell可执行文件“C:Windowssystem32and.exe;路径不存在

win + R

2020-11-25 11:33:42 24194 6

原创 I2C从机 Slave mode

I2C从机代码代码(1)本代码需要Keil编译时,外加HAL库中的两个库文件:#include “stm32f1xx_ll_i2c.h” 和 stm32f1xx_ll_i2c.c两个文件#include "stm32f1xx_ll_i2c.h"// I2C 中断事件处理static void stm32_i2c_slave_event(void* pi2c){ i2c_dev_t* pdev = (i2c_dev_t*)pi2c; I2C_TypeDef* i2cx = pd

2020-10-26 11:05:07 1926 4

原创 通讯协议 - USART串口通信协议

USART串口通信协议链接: link.链接: link.

2020-08-18 16:53:26 623 1

原创 STM32配置printf重定向

(一)先配置:时钟,外部晶振,异常向量表是否offset(二)配置串口打印调试:重定向串口自动打印(1)HAL库:加入以下程序段#include "stdio.h"#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endifPUTCHAR_PROTOTYPE{ HAL_UART_T

2020-08-12 20:08:04 261

原创 (二)CAN通信协议代码-升级版

CAN升级版代码

2020-07-01 19:48:03 1444

原创 (二)CAN通信协议代码-基础版

STM32Fxxx CAN通信代码

2020-07-01 19:46:46 7769 2

原创 ICM20602六轴传感器-IIC通信模式

ICM20602六轴传感器ICM20602 通过IIC协议与MCU通信ICM20602 初始化配置ICM20602 相关配置函数ICM20602 内部寄存器注意事项(一)ICM20602 从地址(二)ICM20602 器件id(0x12)ICM20602 通过IIC协议与MCU通信ICM-20602 是 日本TDKTDK公司生产的六轴传感器。ICM-20602的DataSheet可在其官网下载: ICM20602 或者参考链接: 芯片翻译之ICM20602.IIC软件模拟时序,请参考链接: IIC软

2020-06-07 13:44:04 11347 5

原创 STM32 - CAN问题总结

CAN协议CAN协议 简介CAN协议 特点(1)多主控制(2)系统的柔软性(3)通信速度较快,通信距离远(4)具有错误检测、错误通知和错误恢复功能(5)故障封闭功能(6)连接节点多CAN协议 内容(1)电平特性(2)5种-帧类型STM32xxx CAN控制器(1)STM32F4 的 bxCAN 的主要特点有:(2)过滤器作用 详细分析CAN协议 简介CAN (Controller Area Network )是 ISO 国际标准化的串行半双工异步(位时序同步)通信协议。(1)由于系统之间通信所用的

2020-05-24 15:48:05 6394

原创 (四)STM32F407总线架构、时钟系统配置相关的函数,IO 引脚复用器和映射,NVIC中断管理,寄存器地址映射

基础知识一、单片机下C语法的使用技巧(1)位操作(2)define 宏定义(3)ifdef 条件编译(4)extern 引用外部变量申明(5)typedef 类型别名(6)结构体 struct二、STM32F407总线架构三、STM32F407时钟系统(1) STM32F4 时钟树概述(2)STM32F4 时钟初始化配置(3)STM32F4 时钟使能和配置(1)时钟使能函数(2)时钟源配置选择和分...

2020-05-04 17:23:50 8546

原创 (三)串口调试工具和串口下载工具的区别:ST-LINK、J-LINK、U-LINK;SWD、JTAG、SWIM

串口下载串口ISPiap串口串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。串行接口划分标准1)同步串行接口(英文:SynchronousSerial...

2020-05-02 14:57:17 21152 2

原创 (二):定时器和计数器的区别;时钟和晶振的区别、RTC实时时钟;MPU、MCU、SOC区别;电源符号:VCC、VDD、VSS、VEE、VPP、VBAT

硬件的区别定时器和计数器的区别时钟和晶振的区别定时器和计数器的区别定时器实际上也是计数器,工作在计数方式下,只是计数的是固定周期的脉冲,由于脉冲周期固定,由计数值可以计算时间,有定时功能。定时和计数只是触发来源不同(时钟信号和外部脉冲)其他方面是一样的单片机里的寄存器可以看成一个个电子开关,用来切换不同的功能、信号时钟和晶振的区别(1)时钟发生器时钟发生器是用来产生时钟信号的器件。时...

2020-04-28 19:01:31 15127 1

原创 (一)固件库 stm32f10x.h 详细分析、同程序更换芯片时需要修改的地方;创建MDK5工程模板

STM32F4-固件库开发(1)固件库(2)CMSIS 标准NVIC(3)STM32F4 官方库包介绍stm32f407是学习正点原子探索者开发板时所做的知识总结(1)固件库固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。对于 STM32 这种级别的 MCU,数百个寄存器记起来太难。于是 ST(意法半导体)推出了官方固件库,固件库将这...

2020-04-26 10:57:26 4524

原创 初探C++标准库:移位左移、右移操作符的重载,C++标准库

C++标准库移位左移、右移操作符的重载C++标准库移位左移、右移操作符的重载怎么把变量/常量通过移位操作符,移到一个类的对象中去呢?#include <stdio.h>const char endl = '\n';class Console{public: Console& operator << (int i) { ...

2020-04-25 17:14:12 353

原创 C++类中的函数重载:操作符重载

类中的函数重载类中的函数重载类中的函数重载(1)函数重载(2)类中的函数分类:构造函数普通(const)成员函数static 静态成员函数那么类中的这些函数之间可以重载吗?是可以的,但是类中的函数不能和全局函数重载,因为作用域不同。#include <stdio.h>class Test{ int i;public: Test() ...

2020-04-22 16:54:55 351

原创 C++:friend-友元,类和函数间、类和类间的友元关系

友元友元类友元函数类之间的友元友元类友元函数#include <stdio.h>#include <math.h>class Point{ double x; double y;public: Point(double x, double y) { this->x = x;//类内部隐藏的指向这个类的...

2020-04-22 15:37:17 399

原创 C++:二阶构造模式(方法):半成品对象,二阶构造

@TOC定时暗书

2020-04-22 09:45:44 142

原创 C++:析构函数,临时对象,析构函数的顺序,const 对象和成员函数的关系,静态成员变量和函数

析构函数析构函数析构函数C++中,new申请堆内存空间

2020-04-20 15:07:28 532

原创 C++:类对象的初始化,构造函数:无参、拷贝构造函数,类中const 成员的初始化,对象的构造顺序

类的对象类对象的初始化构造函数类对象的初始化#include <stdio.h>class Test{private: int i; int j;public: int getI() { return i; } int getJ() { return j; } vo...

2020-04-19 21:33:06 1047

原创 C++:类和对象,类:继承和组合,类的封装:private/public,类定义:class,类的声明和实现

类和对象面向对象类之间的关系:继承 / 组合类的表示类的封装类成员的作用域类的真正形态面向对象日常生活中,我们习惯对事物进行分类,那么怎么把分类的思想引入程序设计呢?于是C++引入面向对象的编程:类和对象注意以下问题:(1)类一定存在实际的对象吗?不一定,eg:恐龙有很多分类,人的老祖宗对猿人分类:智人、直立人等,这些在现实生活中已经找不到活体对象,因此不一定是实际的对象。...

2020-04-19 16:29:34 583

原创 C++-(四)C++中的经典问题分析:const,引用和指针的关系

C++中的经典问题分析(1)const(1)const问题:const修饰的变量(标识符)什么时候是只读变量,什么时候是真正意义上的常量?(1)const + 标识符C++编译器对const修饰的标识符的判别准则:用数值常量(字面量)直接初始化const 变量,则数值常量(字面量)和const 变量都直接放入符号表.eg:const int a = 1;表示a此时为一个真正意义上的...

2020-04-18 21:52:51 142

原创 C++-(三)动态内存分配:new / delete,名字空间:namespace,新型的类型转换:xxx_cast

C++中的新成员(一)C++中的动态内存分配(1)动态内存分配:new / delete(2)malloc()和new 申请堆内存空间的区别(二)命令空间/名字空间(1)名字空间的定义:namespace(2)名字空间的使用:using ::(三)新型的类型转换(1)C语言中强制类型转换的问题(2)C++强制类型转换的4种类型(一)C++中的动态内存分配对比C和C++中的动态内存分配在C语...

2020-04-18 16:10:15 222

原创 C++-(二)C++和C的相互调用

C++和C的相互调用C++对C代码的调用C++对C代码的调用C++编译器和C编译器的编译方式是不同的,同时C++编译器能够兼容C语言的编译方式,但是C++编译器会优先使用C++的编译方式。那么怎么使C++编译器可以指定C编译方式编译呢?extern关键字:能强制让C++编译器按照C语言的编译方式进行编译{C代码块}。C++编译器编译时,指定{}内的内容用C方式编译extern "C...

2020-04-17 17:49:01 172

原创 C++-(一)C++对C语法的扩充:引用(变量),inline内联,函数参数的默认值,函数重载

C++对C语法的扩充C++对C的扩充(一)引用-引用变量(reference)(二)inline内联关键字:扩充(三)函数参数的默认值(四)函数重载:函数同名,参数个数和类型不同C++对C的扩充(一)引用-引用变量(reference)(1)引用是一个新的变量类型,作用:为一个变量起一个新的别名;相当于给这块空间取了一个名字叫做 a ,后来又给他取了个小名叫做 b。变量b就叫做变量a的引用...

2020-04-17 12:31:55 351

原创 C++-(一)面向对象简介,C++对比C的语法差异

这里写目录标题面向对象程序设计 OOPC++ 程序基本结构C++ 源码文件扩展名和头文件命令规则C++ 程序编译流程编译时,C和C++的差异/扩充(1)语法:差异(2)常变量:const 差异(3)强制类型转换:差异(4)变量引用(reference):C++对C语法的扩充(5)inline内联关键字:扩充C语言是面向过程的编程思想,面向过程的程序设计(Procedure-Oriented Pr...

2020-04-15 16:35:46 473

原创 通信协议-(二)SPI总线

SPI总线SPI总线 简介SPI应用场景SPI总线 简介SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。实时的一种标准SPI应用场景SP...

2020-04-14 17:29:02 749

原创 通信协议-(一)IIC总线

IIC总线IIC总线 简介IIC总线 -硬件连接IIC -总线特征IIC总线 -通信协议起始信号和终止信号数据传输过程:SCL高电平读数据,低电平写数据IIC -寻址IIC总线 简介IIC(Inter-Integrated Circuit):它是一种串行同步半双工总线,使用多主多从架构。由PHILIPS公司在1980年代为了让主板、嵌入式系统或手机连接低速周边设备而发展。IIC硬件结构简单...

2020-04-14 17:09:44 3819

原创 系统移植-(四)根文件系统的制作、编译和移植:busybox

根文件系统的制作、编译和移植根文件系统 简介根文件系统 -制作工具:busybox根文件系统 -各目录介绍rootfs制作流程(一)配置交叉编译工具链(二)使用busybox工具制作rootfs根文件系统根文件系统 简介根文件系统:系统运行所必须依赖的一些文件,eg:脚本、库、配置文件等;本质就是目录和文件。根文件系统镜像:将根文件系统按照某种格式进行打包压缩后,生成文件ramdisk.i...

2020-04-14 14:32:54 1325 1

原创 系统移植-(三)内核Makefile,make menuconfig -命令解读

kernel-Makefilemake ${PLATFORM}_defconfig 解读make ${PLATFORM}_defconfig 解读(1)打开kernel顶层目录下/Makefile文件,命令行搜索:/_defconfig,搜索不到;搜索:/_config得到内容如下: 486 487 config: scripts_basic outputmakefile FORC...

2020-04-13 17:21:24 758

原创 系统移植-(三)kernel内核源码的配置和编译过程

linux内核源码的配置和编译内核 -源码目录内核的配置(一)配置交叉编译工具链(二)README:解读内核配置过程(1)配置内核源码支持当前的硬件平台.config文件解读(2)make menuconfig:配置内核(3)编译内核生成:uImage(4)测试uImage:kernel顶层目录/arch/arm/boot/uImage内核 -源码目录1.在ubuntu的家目录下创建kern...

2020-04-13 16:48:22 1727 1

空空如也

空空如也

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

TA关注的人

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