自定义博客皮肤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)
  • 收藏
  • 关注

原创 Java编译运行程序(Windows环境)

一起在Windows玩耍,编译、运行.java文件

2023-07-16 10:37:36 299

原创 JAVA基础快速入门-基于C++(含jdk安装)

比C++多了不少关键字,比如extends、import等,以及多了一些专业术语:包、导包、主程序可以为一个定义的class类,相对于C++,存在严谨性,C++可以一份文件里面基本都是C的代码,其他的特性还请其他读者补充。也可以导入其他文件(类似于我们在c/c++用的include) import a.b.c.student//导入a/b/c/下的student.java文件 然后在根据我们的需要去。继承关系的两个类,一个为子类(派生类),一个为**父类(基类)**子类继承父类。java继承性的说明补充。

2023-07-16 09:51:44 260

原创 HDMI EDID概念梳理

而在输出端,当设备需要自建输出时序(如大屏控制器的输出卡)而不是简单的复制输入时序(如各种矩阵设备)的时候,就需要知道显示器支持的显示时序,从而让自己输出的信号能在显示器上正常显示。通过以上梳理,可知edid是显示器发送给输入设备的电子名片,输入设备确认显示设备是显示设备且显示设备具有合适的分辨率之后,输入设备才会做HDMI信号的输出。于是,EDID临危受命,担当起显示器和PC之前的传话筒。-------------------------->>>>>>>>>>(分辨率不匹配的概率可能比较大).

2023-04-12 19:27:39 1816 1

原创 QT 程序Crash的一次记录

一次QT可视化编程的踩坑记录

2023-03-15 15:04:26 208 1

原创 记一次虚拟机编译c程序错误

本人程序之后,发现这个错误,百思不得其解,后面编译了其他之前编好的程序,发现编译没问题,仔细看了编译报错的代码,发现是注释那里少了/**/ ,加上去就没问题了。到最后还是我们程序出了问题。

2023-01-08 11:48:21 966

原创 linux网络编程使用raw_socket套接字使用mac地址通讯

链路层原始套接字调用socket()函数创建。第一个参数指定协议族类型为PF_PACKET,第二个参数type可以设置为SOCK_RAW或SOCK_DGRAM,第三个参数是协议类型(该参数只对报文接收有意义)。参数type设置为SOCK_RAW时,套接字接收和发送的数据都是从MAC首部开始的。ETH_P_ALL 报收本机收到的所有二层报文。

2022-08-21 19:23:51 2984

原创 开发板无法与虚拟机ping通

2.虚拟机:先参考这个链接:https://blog.csdn.net/qq_45490916/article/details/110720485?1.板子:用ifconfig配好ip地址之后,使用“ifconfig eth0 up”命令,可以打开eth0的网络,之后试试是否可以与虚拟机ping通。3.之后再去配置eth0(通过ifconfig命令查看不到eth0的情况下)。使用命令ifconfig eth0 192.168.x.x。4.之后若还是不可以就把电脑的wifi关了。

2022-08-20 08:56:57 778

原创 linux网络编程--组播知识补充

编程基于基础的理论知识等,补充一下组播与地址相关的知识。

2022-08-18 10:24:30 450

原创 Bus Hound实用教程

Bus Hound使用教程,简明且实用教程。

2022-08-15 16:33:26 1009

原创 usbhid协议简明简介及使用

usbhid协议简明简介及使用,主要还是基于linux系统及usb的控制端点进行操作。

2022-08-05 19:15:51 2451 3

原创 linux网络编程(udp单播)传输音频

udp传输音频,涉及对于网络编程,音频的处理,笔者这里做一点笔记。基于OSS的音频编程也是需要对于/dev/dsp操作,当然,如果你使用音频sdk包的话,就需要稍微进行修改。

2022-07-28 11:34:23 1385

原创 win11虚拟机安装蓝屏问题

关于虚拟机蓝屏的解决方案(win11)

2022-07-21 16:59:57 457

原创 linux启动简谈

linux启动简谈,笔者也是学习者,写的是简明理解的笔记

2022-07-05 20:43:25 159

原创 exec族函数

linux系统编程之exec族函数的简单介绍及使用举例,配合示例代码对应用的理解。

2022-07-01 21:44:27 378

原创 GDB调试方法

主要用于调试程序,帮助找出程序BUG.

2022-06-18 20:17:22 24781

原创 linux线程

linux线程、及线程与进程的优缺点总结,常用的线程同步机制。

2022-06-18 11:07:44 181

原创 linux网络编程(tcp)——小应用实现多方通信

包含编程思路梳理、代码实践及tcp/udp的区别简谈

2022-06-02 20:11:27 330 1

原创 linux 系统编程 进程间通信--IPC(2)附测试代码

1.共享内存共享内存就是映射一段能被其它进程所访问的内存,这段共享内存由一个进程创建,但其它的多个进程 都可以访问,使得多个进程可以访问同一块内存空间。共享内存是最快的 IPC 方式,它是针对其它进程间通信方式运行效率低而专门设计的,它往往与其它通信机制,譬如结合信号量来使用,以实现进程间的同步和通信。草稿记录:共享内存中,收、发双方均可查看消息的内容编程实践://创建共享内存及向共享内存些入端#include <sys/ipc.h>#include <sys

2022-05-31 21:20:21 421

原创 linux 系统编程--进程(2)--IPC(1)

1、进程间的通信概念引入进程间通信(interprocess communication,简称 IPC)指两个进程之间的通信。系统中的每一个进程都有各自的地址空间,并且相互独立、隔离,每个进程都处于自己的地址空间中。所以同一个进程的不同模块 (譬如不同的函数)之间进行通信都是很简单的,譬如使用全局变量(当然这种说法有点抽象)等。 由上图机制及相关资料总结如下: ⚫ UNIX IPC:管道、FIFO、信号; ⚫ System V IPC:信号量、消息队列、共...

2022-05-25 22:22:07 141

原创 linux 系统编程--进程(1)

1.进程引入:进程:动态的 运行中的程序;进程查看:Linux下可以通过ps看运行的进程 ps-a看全部;实际工作 通过grep过滤 查看我们想要得进程 如:ps -aux|grep init2.进程标识符每个进程都有一个非负整数表示的唯一的id。叫做pid,类似于身份证。Pid = 0 表示交换进程(swapper)。 Pid= 1:init进程,作用系统初始化。Init类似于开机启动程序。3.父进程 子进程A创建b,a管b是父 b管a是子...

2022-05-24 22:31:11 255

原创 文件操作之实现cp指令应用

1.引入:在ubuntu下 cp a.c b.c这个指令的意思是将a.c文件中的内容,创建b.c,把a.c的内容复制到b.c中。2.思路:a.打开源文件.cb.读源文件到bufc.打开、创建目标文件.cd.将buf写入到目标文件.c;e.close 关闭两个文件。(cp操作完成之后,关闭动态文件);3.实现代码如下:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.

2022-05-22 17:33:56 352

原创 int main(int argc,char* argv [ ])-简明认识

这里直接上代码,笔者喜欢在实践中获取答案,这样可以更快理解它们的意思:test2App.c#include <stdio.h>int main(int argc,char *argv[]){if(argc==1 || argc>2) {printf("请输入想要编辑的文件名如:./edit fillen\r\n此时argc==%d",argc); } if(argc==2) { printf("此时argc为%d,编辑(argv[1])为%s\n而argv[0]为%

2022-05-04 10:53:45 348

原创 ubuntu上不了网的解决方法(简便)

用于我们对于ubuntu的使用比较多,网络有时需要更改设置。下面笔者分享一个实用的方法1.增加多一个网络连接将鼠标移至左上角上下箭头,之后点击爱编辑连接(不同版本操作方法不一样但其实都是一样的操作路径)第一个步骤2.增加多一个网络类型选择以太网,之后点击连接,之后的配置都按照默认的即可,不进行修改,之后点击保存 第二个步骤...

2022-04-28 21:20:24 23030 4

原创 ubuntu常用命令行总结(1)

pwd:查看现在在哪个文件夹目录;ls:查看当前目录下有什么文件;ls sd*可以找出开头是sd的文件;cp:拷贝文件内容到另一个文件:如:cp test1.c test2.c;把test1的内容拷贝到test2中并产生test2 文件; sudo cp -r imxdownload /home/cjun/linux/Imx6ull 把imxdownload复制/home/cjun/linux/Imx6ull下,如果不知道所要复制到的目录要怎么写通过直接键入pwd指令查看...

2022-04-28 15:10:47 1014

原创 FreeRTOS中的任务调度

1.先梳理几个重要的概念正在运行的任务,可被称为"正在使用处理器",它处于运行状态。在单处理系统中,任何时间里只能有一个任务处于运行状态,这是与多任务系统实时操作系统的区别。非运行状态的任务,它处于这 3 中状态之一:阻塞(Blocked)、暂停(Suspended)、就绪(Ready)。就绪态的任务,可以被调度器挑选出来切换为运行状态,调度器永远都是挑选最高优先级的就绪态任务并让它进入运行状态。阻塞状态的任务,它在等待"事件",当事件发生时任务就会进入就绪状态。事件分...

2022-04-24 21:01:15 826 2

原创 多任务系统中的同步与通信

各类 RTOS 都会涉及这些概念:任务通知(task notification)、队列(queue)、事件组(event group)、信号量(semaphoe)、互斥量(mutex)等。1.同步与互斥概念引入举个栗子:例子1:在团队活动里,同事 A 先写完报表,经理 B 才能拿去向领导汇报。经理 B 必须等同事 A 完成报表, AB 之间有依赖, B 必须放慢脚步,被称为同步。例子2:在团队活动中,同事 A 已经使用会议室了,经理 B 也想使用,即使经理 B 是领导,他也得等着,...

2022-04-23 20:24:16 469

原创 MDK 5.36 can‘t add xxx to analyzer

1.错误分析:分析得是没有开启软件调试导致,故需对debug进行设置2.解决方法如下:1.点击魔术棒。2.点击debug。3.对以下图片圈住的选项勾选即可。图13.analyzer波形设置1.选择想要添加到analyzer的“标志位”。2.对analyzer进行bit设置之后,可以看到波形。...

2022-04-23 17:07:59 1850

原创 W5500 充当http server - web服务器的实现

笔者将w5500充当web服务器点灯1.http协议概述HTTP是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式。2.http服务器实验设计笔者用 W5500 建立自己的网页服务器,你只在浏览器地址栏里键入W5500 的 IP 地址,就成功在你的网页上显示出来了。HTTP Server 实现原理图如下:3.程序设计3.1 w5500初始化分别对w5500进行ip地址的设定、和我们单片机进行spi通信的配置。我们在w...

2022-04-19 22:59:34 4689 3

原创 DHCP自动获取IP地址的过程(自动获取ip地址的过程)

我们电脑在自动获取IP地址的过程(通过DHCP请求获取IP的过程),电脑是客户端,路由器是DHCP客户端。1.DHCP的请求的总过程1.1在 DHCP请求的过程中,包括 4 个主要的阶段:发现阶段、 提供阶段、 选择阶段、 确认阶段。以上是DHCP 客户端向 DHCP 服务器申请 IP 地址的一个过程。2.DHCP请求流程解读 1.客户端发送 DHCPDISCOVER 消息(IP 地址租用申请),...

2022-04-18 16:00:41 10471 3

原创 硬件协议栈芯片接入以太网方案(W5500+STM32)

1.TCP/IP 协议栈介绍所谓的 TCP/IP 协议栈是一系列网络协议的统称,不仅包括我们熟知的 TCP 协议和 IP 协议,还有网络层的 ICMP(Internet 控制报文)协议、IGMP(Internet 组 管理)协议、ARP(地址解析)协议,传输层的 UDP(用户数据包)协议,应用层 的 HTTP(超文本传输)协议、DNS(域名解析)协议、FTP(文件传送)协议、 SMTP(简单邮件管理)协议等等。2.硬件协议栈芯片方案引入由于软件协议栈操作需要...

2022-04-17 21:27:13 4246

原创 C语言中static、const、volatile关键字总结

1.static的用法:static的用法(定义和用途)1)用static修饰局部变量:使其变为静态存储方式(静态数据区),那么这个局部变量在函数执行完成之后不会被释放,而是继续保留在内存中。2)用static修饰全局变量:使其只在本文件内部有效,而其他文件不可连接或引用该变量。3)用static修饰函数:对函数的连接方式产生影响,使得函数只在本文件内部有效,对其他文件是不可见的(这一点在大工程中很重要很重要,避免很多麻烦,很常见)。这样的函数又叫作静态函数。使用 静态函数的好处是,不用担心与其

2022-04-17 14:40:03 1013

原创 C语言中typedef与结构体struct的用法小结

直接给大家总结一下各个使用场景机代码示例讲解:1.typedef struct示例:1.1 typedef struct示例1:typedef struct tube{ int tube0; int tube1; int tube2; int tube3; int tube4;}TM1637Tube_ts;TM1637Tube_ts sData;//声明结构体变量sData;1.2 typedef struct示例2:typedef struct { int tube

2022-04-15 22:23:40 1549

原创 IIC总线协议与SPI协议的特点及优缺点总结

1.IIC总线协议1.1 IIC协议概述:I2C总线是一种串行数据总线,一根是双向的数据线SDA,一根是时钟线SCL.两条线可以挂多个设备,一般IIC设备里有个固化的地址,只有传输对应固化地址时才会响应。基本谁控制时钟线谁就是主设备。1.2 IIC总线初始化与起始信号,结束信号: 1,初始化:SCL SDA均为高。 2,开始信号:SCL保持高电平,SDA由高变低,SCL拉低。 3,停止信号:SCL拉高,SDA由低变高。1.3 IIC优缺点:优点...

2022-04-14 21:39:53 8585

原创 板卡(单片机)与电脑PING不通的原因及解决方法

1.检查程序是否有问题;2.检查拓展坞是否有问题;用其他的电脑进行测试。在以下电脑控制面板的界面看能不能有相关的“设备”。3.换用其他的网线试试。

2022-04-12 23:14:42 3301 1

原创 电脑IP地址查看及修改

笔者今天用以太网模块w5500,发现ping不通,检查了代码也没发现问题。查明原因之后:原来是连接电脑的拓展坞没有识别出网线。总结一下查看/修改电脑ip(查看到步骤2即可)的方法:为了节约打字时间及方便读者阅读,笔者简明写下总结:方案1(3个步骤):方案1操作步骤1到达网络连接这里,右键点击WLAN,进入属性,图1方案...

2022-04-12 23:00:16 2877

原创 C语言中strlen与sizeof的区别

演示代码代码如下,以代码阐述他们的用法,并展示实验结果,并对实验结果进行解析。#include<stdio.h>#include <stdlib.h>#include<string.h>#include <conio.h>#include <dos.h>int main(){ char *p = "Wenbin"; char arr[128] = "Meet you"; char arr2[] = "Love you"

2022-04-11 19:15:29 1368

原创 STM32F1模拟iic的GPIO配置(小总结)

最近学习,发现需要总结一下模拟iic的gpio配置,相信你懂得,但是最好还是需要理解清楚。1.初始化GPIOvoid IIC_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); //使能GPIOB时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;

2022-03-31 15:42:01 5084

原创 快速搭建CH32F103工程模板

笔者最近用ch32f103做一点小东西,现在建立了一个工程模板,相对于传统的方法建立一个过程要快好多,这样便于我们进行外设驱动的移植,比如我们移植模拟iic等;现在给大家展示一下1.首先我们了解到官方给的一个EVT文件包;EXAM文件夹下面是对应外设的例程;我们可以把不需要的例程去掉;笔者最开始是直接把GPIO这一例程拷贝出来,但是编译报了好多个错误,后面笔者发现GPIO这一例程内部其实少了不少关键的东西:;这里不多列举。后面发现还需重要的文件:SRC文件夹的内.

2022-03-27 21:36:45 598

原创 typedef

相信好多初学stm32的宝宝们和刚开始开发的小伙伴都会接触到typedef,新手对于typedef的用法陌生,尤其是typedef用于结构体的定义更觉得自己好像学了假的C语言,尤其是typedef struct所以笔者现在总结一个大家比较陌生的用法,直接给大家展示一下以下两段代码示例及编译情况:#include<stdio.h>typedef struct tube{ int tube0; int tube1; int tube2; int tube3; int tube4;

2022-03-25 19:04:31 211

原创 以太网模块w5500带手册链接(基于stm32开发之芯片手册梳理)

数据手册链接链接:https://pan.baidu.com/s/1Z3rqD2vuyMYgQ6uyLaJ5hw 提取码:l5udSPI 数据帧格式节选自芯片手册控制段的功能这里不详细说明,其实也是8个位,但是看位数决定,有的控制需要几个位,其实还是很有必要了解,事关我们为了以什么目的去驱动芯片。所以控制段很重要。其中7-3是区域选择位-Block Select Bits;2是读/写访问模式位:0’:读 ,1’:写;1-0是SPI 工作模式位 - SPI Operation ..

2022-03-22 21:48:24 1353

空空如也

空空如也

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

TA关注的人

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