- 博客(19)
- 收藏
- 关注
原创 加密字符驱动(加密算法为凯撒加密算法),通过ioctl控制当前是加密还是解密
首先介绍一下凯撒加密算法吧:这是一个字符加密算法一个很简单的字符加密算法,就是所有想要加密的字符所有向左或者向右移动若干个单位,如:我写的凯撒算法是所有字符向右移动三个单位,那么字符串luowenxing就加密为oxrzhqalqj。这就是加密过程,相反的,解密过程当然就是所有字符向左移动若干个单位了,我这里是加密是向右移动三个单位,那解密自然就是想做移动三个单位了。加密算法**(因为当时使用...
2020-02-17 13:09:05
599
2
原创 秋招回顾
2020/02/15 这晚迟迟不能入睡,看到辅导员老师在群上发的——写给自动化学院2020届毕业生的一封家书,看完确有感触。想想已经秋招过去很久了,本来这个时间我应该在公司实习的,但因为疫情影响,所以公司临时取消了我们的实习计划,在家也实在无聊,年前还比较经常跑步,疫情影响大了之后,就很少跑步了,年后就跑了两次。希望这次疫情尽快过去吧。迟迟不能入睡,想得比较多的就是秋招的点滴了(还有回顾了一下自...
2020-02-16 16:09:01
1554
原创 linux open函数返回值-1,调用失败
经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() 、write() creat()之类的函数有些时候会返回-1,也就是调用失败。这个时候使用errno这个全局变量就相当有用了。#include <stdio.h>#include <string.h>#include <errno.h>int main(void){ in...
2020-01-17 14:40:19
11501
1
原创 Linux内核驱动学习----第一个内核驱动模块之hello_world
编写hello.c文件:编写Makefile:3. make生成 .ko文件4. 加载内核驱动sudo insmod hello.kolsmod 查看加载的内核驱动模块
2020-01-14 19:08:32
232
原创 计算数组所有元素之和—最快时间、最小空间复杂度(自己感觉的哈哈哈)
/* 最快时间、最小空间复杂度(自己感觉的哈哈哈)计算数组所有元素值之和(归并思想) */int getsum(int arr[], int length){ int interval = 1; int i; while( interval<length ) { for( i=0; i+interval<length; i+...
2019-10-05 15:46:38
824
原创 判断一个数是否为 4 的幂(也可以是 2 的幂)
首先判断是否为 2 的幂, 因为 4 的幂均是 2 的幂2 的幂 num ==1, 2, 4, 8, 16, 32 …换成 2 进制即:1, 10, 100, 1000, 10000, 100000, …明显可以得出 ( num & (num) ) == 0;4 的幂 num == 1, 4, 16, 64, …换成二进制即:1, 100, 10000, 1000000, …...
2019-10-05 15:01:59
491
原创 约瑟夫环问题(链表)
`#include <stdio.h>#include <stdlib.h>#define _DEBUG#undef PDEBUG#ifdef _DEBUG #define PDEBUG(fmt, args...) printf(fmt, ##args)#else #define PDEBUG(fmt, args...)#endif/* ...
2019-10-04 18:23:59
415
原创 链表操作——C、C++(创建链表、反转链表、合并两个有序链表、合并 K个有序链表)
有发现问题可以一起交流哦注释什么的都有在那了/* 链表操作:反转链表 合并两个有序链表 合并 K个有序链表 */#include <stdio.h>#include <stdlib.h>#define _DEBUG#undef PDEBUG#ifdef _DEBUG #define PDEBUG(fmt, args...) printf(...
2019-10-04 16:14:51
436
原创 反转链表
/* 链表结构 */typedef struct node{ int val; struct node *next;}ListNode;/* 反转单向链表 */ListNode *reverlist(ListNode *head){ ListNode *pre = NULL; ListNode *cur = head; ListNode *tmp = cur; while...
2019-10-03 16:43:46
158
原创 合并链表
[1, 2, 4][1, 3, 4]合并之后为[1, 1, 2, 3, 4, 4]/* 节点类型 */typedef struct node{ int val; struct node *next;}ListNode;/* 函数 */ListNode *merge2Lists(ListNode *p1, ListNode *p2){ ListNode *p...
2019-10-02 17:29:36
122
原创 排序
/* 快排 */void quick_sort(int arr[], int L, int R){ if( L<R ) { int i=L, j=R, tmp=arr[L]; while( i<j ) { while(i<j && arr[j]>=tmp) ...
2019-10-02 15:59:47
141
原创 自守数
自守数:指一个数的平方的尾数等于该数自身的自然数。例如5*5=25,5==56*6=36,6==6376*376=141376,376==376/* 输入数字 num, 返回 1 表示为自守数,返回 0 表示不是自守数 */#define TRUE 1#define False 0int function( int num ){ int mul, aa, kk, bb...
2019-10-02 15:32:06
891
原创 SPI
涉及寄存器:“控制寄存器CR1”:SPI 模式、波特率、LSB先行、主从模式、单双向模式、数据帧长度等等控制时钟信号、CPOL位(时钟极性:0空闲SCL为低,1空闲SCL为高)、CPHA位(时钟相位:0第一个边沿采 集信号,1第二个边沿采集信号)。“状态寄存器(SR)”:读取状态寄存器相关寄存器位,就可以了解SPI的工作状态了。如发送完一帧数据的时候,“状态寄存器SR”中的“TXE标志...
2019-10-01 21:58:35
766
原创 大小端问题
高字节 对应 高地址 --------> 小端模式高字节 对应 低地址 --------> 大端模式嵌入式系统开发中:小端模式:CPU对操作数的存放方式是从 低地址到高地址大端模式:CPU对操作数的存放方式是从 高地址到低地址例如:16bit宽的数0x1234在 小端模式 下CPU的存放方式(假设从地址0x4000开始)小端模式内存地址 0x4000 0x4...
2019-10-01 21:55:38
247
原创 模拟IIC
开始停止数据格式应答信号非应答信号传输过程:读取过程:主机发送开始信号主机广播7位设备地址 & 0xFE (最后一位为0:写入地址)等待应答主机发送8位寄存器地址等待应答主机发送开始信号主机发送7位设备地址 | 0x01 (最后一位为1:读取地址)等待应答保存数据,主机返回非应答信号发送停止信号写入过程:主机发送开始信号主机广播7位设备地址 ...
2019-10-01 21:54:19
246
原创 动态规划(爬楼梯问题)
问题:有 n 阶台阶, 每次可以走 1 或 2 步,请问走到第 n 阶台阶一共有多少种走法?解:设有 f(n) 种走法第一步: 1 2第二步: f(n-1) f(n-2)状态方程:f(n) = f(n-1) + f(n-2)n>2f(0)=0, f(1)=1, f(2)=2;函数:int function(int n...
2019-10-01 21:53:12
370
原创 反转链表-C语言
#include <stdio.h>#include <stdlib.h>/* 大型工程上用于随时调试或者注释掉 *//* 想要注释直接改 _DEBUG为其他如_DEBUGG */#define _DEBUG#undef PDEBUG#ifdef _DEBUG #define PDEBUG(fmt, args...) printf(fmt, ##arg...
2019-10-01 21:51:26
180
原创 随笔----C/C++自定义标识符小知识
标识符可以由大写字母、小写字母、下划线(_)、数字(0~9)组成。但是:所有标识符必须由字母或者下划线开头。就是说不能以数字开头或者其他非法字母。如?、空格、小数点。标识符不能出现如+、-、空格、数字开头、非法符号(?、,@等等)、或者标准库预设名字重合(如char、int、float等等)还有:最好不要以下划线(_)开头,因为编译器内含有很多以下划线开头的标识符。避免不必要的错误。eg...
2019-04-09 21:09:45
5238
原创 随笔--C/C++类型和常量小知识
类型小结:int(short int): 4字节,多少位要看你的计算机,我的是32位机,所以int最小尺寸为32位。取值范围为-2147483648~2147483647.(2^32/2)。long(长整型):4字节,其他和int一样(取值范围一下),和int的区别在哪不清楚(有一说法是之前有16位机的时候int是2字节,long是4字节。在32位机没有区别)。long long int:8...
2019-04-09 20:50:51
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人