![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
零散项目
文章平均质量分 53
实战小项目
黑子的ball
忙着赶路
无暇采风
展开
-
秋招求职总结分享
前言博主是某211渣硕光学工程专业,2022届应届毕业生,秋招的岗位为嵌入式软件开发工程师/C++软件开发工程师从实习到秋招,时间段大概为3月到12月,战线较长,大厂中厂小厂的offer都拿到了,包括:联发科、海康威视、大华、鼎桥通信、新华三、闻泰科技、道通科技、TCL、汇川技术等公司的offer,最后签下了某芯片公司的offer,目前仍在春招,寻找其他的工作计划,求职仍在进行中,在这里简单对自己的秋招进行个总结,实习经历的话,暂时未介绍,文章主要分为几个部分:背景篇:主要对自己的个人情况进行一个总结原创 2022-03-03 14:31:10 · 1855 阅读 · 0 评论 -
OLED显示驱动
1、接口方式介绍接口方式:并行接口方式(8080、6080)串行SPI接口方式(3线、4线)IIC接口方式(2线)注:本代码使用的是8080的并行接口方式,选择的开发板为正点原子stm32f103开发板2、OLED模块的信号线CS:OLED 片选信号。WR:向 OLED 写入数据。RD:从 OLED 读取数据。D[7:0]:8 位双向数据线。RST(RES):硬复位 OLED。DC:命令/数据标志(0读写命令,1读写数据)3、OLED模块读写过程(针对8080的并行接口方式)先根据原创 2021-12-30 10:24:41 · 4327 阅读 · 0 评论 -
数据编码的MFC demo
1、项目功能1、实现了裸数据的解码2、实现了裸数据+JPEG数据的解码3、实现了裸数据+YUV数据的解码2、项目开发思路1、点击button按钮2、读取指定文件夹的原始数据3、找到原始数据的第一个magicno4、根据magicno找到一帧数据5、根据获取到的一帧数据,判断这帧数据是否正确(是否为完整的一帧数据)6、确定了数据的完整性,在判断数据类型并同时对数据进行分割7、解析数据8、保存数据3、数据解码流程3.1、裸数据(1)首先判断传入数据的长度是否正确(注意传入的数据前4原创 2021-10-22 08:28:25 · 186 阅读 · 0 评论 -
客户端与服务器通信项目6:C语言实现Linux下的ls-l命令
13、实现Linux下的ls-l命令/**获取模式类型,并转换成字符*/void getmode(int mode, char *str){ strcpy(str, "----------"); //目录 if(S_ISDIR(mode)) { str[0] = 'd'; } //字符文件 if(S_ISCHR(mode)) { str[0] = 'c'; } //块文件 if(S_ISBLK(mode)) { str[0] = 'b'; } //用户的读、原创 2021-10-21 14:04:20 · 143 阅读 · 0 评论 -
客户端与服务器通信项目5:C语言实现ls命令
12、实现Linux下的ls命令char *ls(char *dirname){ Dir* dir_ptr; //创建目录指针 struct dirent* direntp; //存放目录信息的结构体 static char buf[BUFFER_SIZE] = {0}; //用于存放文件列表信息 memset(buf, 0, BUFFER_SIZE); //打开一个目录,失败时返回空指针 if((dir_ptr = opendir(dirname)) == NULL) {原创 2021-10-21 11:03:30 · 191 阅读 · 0 评论 -
客户端与服务器通信项目4
11、服务器主要程序/***获取服务器配置信息*/int getconfig(server_config *m_config, char *path){ char linebuf[100] = {0}; char client_num[100] = {0}; char *p = NULL; FILE *fp = NULL; fp = fopen(path, "r"); if(NULL == fp) { perror("fopen"); return -1; } else原创 2021-10-20 17:12:44 · 180 阅读 · 0 评论 -
客户端与服务器项目3
10、客户端主要程序1、传输文件时读取标准输入:暂停、停止/***传输文件时读取标准输入:暂停、停止*/void *thread_function(void){ fd_set m_fdset; //待检查文件的描述符 struct timeval timeout = {1, 0}; //设置超时时间为1秒 //用select超时实现非阻塞读取标准输入 while(1) { //select函数不会修改timeout的值,所以每次循环都应该重新赋值 timeout.tv原创 2021-10-20 15:10:59 · 139 阅读 · 0 评论 -
客户端与服务器通信项目2
4、模块划分4.1、服务器模块及功能1、读取文件列表:获取服务器文件列表机文件详细信息2、读取服务器配置:读取服务器名称与最大可连接数量3、修改服务器配置:获取客户端发送的信息,并写入配置文件4、开始传输文件:向客户端发送文件5、暂停传输文件:暂停向客户端发送文件6、停止传输文件:停止向客户端发送文件7、多线程:同时响应多个客户端的连接,并处理响应的请求4.2、客户端模块及功能1、获取文件列表:接收服务器发送的文件列表信息,并打印2、读取服务器配置:接收服务器发送的配置信息,并打印3原创 2021-10-19 16:55:36 · 260 阅读 · 0 评论 -
客户端与服务器通信项目1
1、功能需求:1、实现客户端与服务器的基本通信2、客户端能够读取服务器的文件列表,并在客户端进行打印3、客户端输入对应的文件名称后,服务器能够将对应文件传输给客户端4、服务器在传输文件过程中,客户端可以开启、暂停和终止文件传输5、客户端能够获取服务器的配置参数,包括服务器名称和最多支持客户端连接数量6、客户端能够修改服务器的配置参数,并保存,重启后仍生效7、实现多线程处理机制,并行处理多客户端的访问注:使用静态链接库和Makefile脚本编译工程2、socket通信的过程Socket也就原创 2021-10-19 14:32:20 · 231 阅读 · 0 评论