自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决github上的图片无法显示的问题

github上无法显示图片的问题

2022-08-07 00:19:36 4246 4

原创 DBC文件解析及CAN通信矩阵

DBC文件解析及CAN通信矩阵

2022-07-26 11:50:18 4977

原创 CAN 帧简介

CAN帧简介

2022-07-19 17:23:57 5066

原创 vscode文件标签栏显示多行

vscode功能设置

2022-07-19 10:39:02 1469

原创 TCP/IP协议栈协议头

TCP头部:序列号:在建⽴连接时由计算机⽣成的随机数作为其初始值,通过 SYN 包传给接收端主机,每发送⼀次数据,就「累加」⼀次该「数据字节数」的⼤⼩。⽤来解决⽹络包乱序问题。确认应答号:指下⼀次「期望」收到的数据的序列号,发送端收到这个确认应答以后可以认为在这个序号以前的数据都已经被正常接收。⽤来解决不丢包的问题。控制位:1 ACK:该位为 1 时,「确认应答」的字段变为有效,TCP 规定除了最初建⽴连接时的 SYN 包之外该位必须设置为 1 。2 RST:该位为 1 时,表示

2021-08-11 11:01:02 455

原创 MQTT协议简介

MQTT协议简介

2021-07-23 17:38:20 1094

原创 【RT-Thread】UART 设备源码分析

官网介绍 I/O 设备模型框架如下图:但看到官网写道 :“设备驱动层是一组驱使硬件设备工作的程序,实现访问硬件设备的功能。它负责创建和注册 I/O 设备,对于操作逻辑简单的设备,可以不经过设备驱动框架层,直接将设备注册到 I/O 设备管理器中”, 这句话不是很理解,因为我在 PIN 设备源码分析 中并没有看到 设备驱动框架层。直到我分析 UART 设备源码的时候才了解 设备驱动框架层。本篇文章以串口 作为控制台输入输出来学习一下 RT-Thread 是怎么把 串口 设置为控制台,并对其操作的。裸跑时

2021-05-12 11:40:51 793 3

原创 【RT-Thread】PIN 设备源码分析

目录1 获取引脚编号2 设置引脚模式关于 RT-Thread 的 PIN 设备驱动应用层面的介绍可以直接参考 RT-Thread 的官网:PIN 设备下面结合相关源代码分析一下 PIN 设备驱动。1 获取引脚编号首先拿到标准的 BSP 后,main.c 里面会有一个 IO 口的操作,内容如下:/* defined the LED0 pin: PB1 */#define LED0_PIN 24 //GET_PIN(B, 8)int main(void){ int count =

2021-05-08 00:02:00 685 1

原创 ST-LINK/V2:cannot reset target shutting down debug session

使用 ST-LINK/V2 为 STM32 下载程序时,总是不成功,并弹出如下对话框:解决方法:打开 MDK 的安装目录下的 STLink,如下是我的路径:D:\mdk525Setup\ARM\STLink打开此目录后如下图:打开上图中的 ST-LinkUpgrade.exe,并把 ST-LINK 插入电脑,如下图:点击 Yes 后,待升级成功,再次对 STM32 烧写程序即可。注意,出现这个问题是在烧写的时候;另外一种情况与这种情况弹出的对话框一样,但是出现在程序 debug 过程中出

2021-04-26 22:04:39 5036

原创 STM32关于驱动段码屏显示

本篇文章主要记录一下我在工作中用STM32单片机驱动段码屏显示内容,不讲解具体的驱动原理,只是单纯记录如何编写驱动屏幕图标显示的代码,以便我日后查看。单片机:STM32L152RCT6AIDE:Keil5.25.2.0代码生成:STM32CUBEMX4.23.0具体段码屏的驱动代码我直接贴出来:/* LCD init function */static void MX_LCD_Init(void){ hlcd.Instance = LCD; hlcd.Init.Prescale

2021-04-06 18:42:46 5805 3

原创 C语言数组、结构体、结构体数组作为函数参数

数组作为函数参数如果想把一个数组名参数传递给函数,正确的函数形参应该是怎样的?它是应该声明为一个指针还是一个数组?调用函数时实际传递的是一个指针,所以函数的形参实际上是一个指针,但为了使程序员新手更容易上手一些,编译器也接受数组形式的函数形参。因此,下面这两个函数原型是相等的:int strlen(char *string);int strlen(char string[]);结构体作为函数参数举例结构体:typedef struct { char product[20];} trans

2021-03-27 17:38:48 11875 2

原创 机械硬盘基本知识

机械硬盘相关概念

2021-02-25 15:52:56 1076

原创 【ubuntu16.04 LTS】更换国内清华源

1,备份原始源文件sources.list在终端输入如下命令:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2,修改源文件sources.list在终端输入如下命令:sudo vi /etc/apt/sources.list删除sources.list里面的内容,更换为清华源https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/如下图,选择对应ubuntu版本把上图中的源地址更换到

2021-01-20 22:55:11 244

原创 【ubuntu16.04 LTS】设置屏幕分辨率

第一种方式直接打开系统设置,选择屏幕分辨率即可,和Windows一样,不多说。第二种方式如果在第一种方式中,没有找到自己想要设置的分辨率的话,可以按如下操作:1,打开终端输入命令:xrandr获取到当前显示系统有效输出的设备名称和所有有效分辨率,如下图:2,比如我们想设置屏幕分辨率为“1920x1080”,结果上面的输出结果没有这一项,所以我们要手动添加一个1080P的分辨率,先输入命令: cvt 1920 1080目的是查询一下1080P分辨率的有效扫描频率,如下图:3,然后通

2021-01-20 22:27:59 498

原创 【ubuntu16.04 LTS】ping百度通,但浏览器打不开百度网页

典型的DNS配置问题。1,执行如下命令sudo vi /etc/resolv.conf在文件最后添加nameserver 114.114.114.1142,解决重启后 DNS 配置文件被覆盖问题,否则又不能上网了创建一个 /etc/resolvconf/resolv.conf.d/tail 文件。执行如下命令sudo vim /etc/resolvconf/resolv.conf.d/tail同样在此文件后添加nameserver 114.114.114.114添加完成后再执行

2021-01-16 02:08:58 3041 1

原创 【ubuntu16.04 LTS】 ping www.baidu.com不通

想更新一个软件包,发现ubuntu不能正常更新,结果ping www.baidu.com不通,但是ping ip 可能,所以认为是DNS没有配置。解决方法:1,既然能ping ip,说明ip是正常的,所以直接配置DNS,执行如下命令:sudo vi /etc/resolv.conf打开后,我的这个文件里面没有配置内容,如下图:2,添加配置项在上图的文件中添加下列内容:其中,8.8.8.8是Google提供的DNS服务。3,重启网络输入如下命令:sudo /etc/init.d/n

2021-01-16 01:44:43 557

原创 CAN总线详解

CAN通信协议

2021-01-14 13:56:00 6202

原创 比特率与波特率

比特率与波特率

2021-01-14 13:50:15 5046

原创 SPI简介

SPI通信协议

2021-01-06 16:26:13 12374

原创 IIC简介

IIC通信协议

2021-01-04 17:22:47 9259

原创 LCD的接口类型详解

LCD接口类型

2020-12-30 17:53:27 2122

原创 结构体指针变量初始化问题

1,以下代码是有问题的://file1.c里有如下代码struct innrtc_t { u8 it_works_timer; u8 lose_effect_timer; u16 target_temputer; u16 wakeup_period; u32 start_time; u32 stop_time; float line_slope;};void innrtc_init(struct innrtc_t *rtc){ innrtc->it_works_timer =

2020-12-08 17:52:08 1898

转载 STM32CubeMx采集多路ADC

转载于https://blog.csdn.net/qq_24815615/article/details/70227385原文地址https://www.eemaker.com/stm32cubemxadc.html单片机为:STM32F103RCT6软件:STM32CubeMX,MDK功能:不使用DMA,不使用中断,读取ADC1内部温度传感器及内部参照电压VREFINT的值描述:温度传感器和通道ADC1_IN16相连接,内部参照电压VREFINT和ADC1_IN17相连接。可以按注入或规则通道对

2020-07-29 11:01:11 3134

转载 VS2010 带命令行参数的调试问题 解决方案

转载https://www.cnblogs.com/Robert-huge/p/6047771.html记录一下,以后方便查阅int main(int argc,char* argv[])argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数比如:int main(int argc, char* ar...

2018-11-13 10:19:07 527

空空如也

空空如也

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

TA关注的人

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