- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 票选优秀员工
投票1 票选优秀员工1.1 问题描述1.2 编程实现1.2.1 算法思想1.2.2 实验结果1 票选优秀员工1.1 问题描述(1) 问题描述:五一节,何老板的公司票选优秀员工。何老板的公司共有m 个候选员工,编号1 到m。共有n 个员工参与了投票,每人只能投一票,得票过半(票数>n/2)的员工将获得优秀员工奖,何老板请你快速找出这个员工的编号。(2) 输入格式:第一行,一个整数n;接下来一行,n 个空格间隔的整数,表示每个员工投票的编号(3) 输出格式:一行,一个整数,表示当选优秀员工的编号
2022-03-08 18:03:17
687
原创 丢失的珠子
找丢失的两颗珠子1 丢失的珠子1.1 问题描述1.2 编程实现1.2.1 算法思想1.2.2 实验结果1 丢失的珠子1.1 问题描述(1) 问题描述:何老板有一盒珠子共n颗,编号1到n。他一不小心将盒子打翻,所有珠子都散落在地。他一颗一颗地把珠子捡起来,每捡一颗就记录下当前这颗珠子的编号。捡完以后发现少了两颗,请你快速找出少了哪两颗珠子。(2) 输入格式:第一行,一个整数n;接下来一行,n-2个空格间隔的整数,表示何老板捡起来的珠子的编号。(3) 输出格式:一行,由小到大排列的两个整数,表示丢失的
2022-03-08 17:54:09
586
原创 Java编程实现快速傅里叶变换FFT
快速傅里叶变换的时间复杂度分析1 快速傅里叶变换FFT1.1 理论分析1.1.1 离散傅里叶变换1.1.2 快速傅里叶变换1.2 编程实现1.2.1 算法思想1.2.2 实验结果1 快速傅里叶变换FFT1.1 理论分析1.1.1 离散傅里叶变换有限长序列x(n)的N点DFT为考虑为x(n)复数序列的一般情况,对某一个k值,直接按照式(1)计算X(k)的1个值需要N次复数乘法和(N-1)次复数加法。因此,计算X(k)的所有N个值,共需N^2次复数乘法和N(N-1)次复数加法。当N>>1
2022-03-08 17:30:21
2463
原创 基于Linux的内存模拟型的字符IO设备驱动程序的设计,并实现线程间通信
**要求:**基于Linux的内存模拟型的字符IO设备驱动程序的设计,并编写应用程序实现线程间的通信。基于Linux的内存模拟型的字符IO设备驱动程序的设计1 内存模拟型的字符IO设备驱动程序memDrv.c2 IO设备驱动实现线程间的通信的程序memIoDrv.c3 Makefile文件4 程序执行步骤4.1 使用make命令4.2 查看当前系统中已经注册的字符设备的主设备号4.3 加载设备驱动模块memDrv.ko4.4 创建与memDrv驱动对应的设备节点文件4.5 编译线程间通信程序4.6 运行应
2022-01-24 22:00:15
1019
原创 基于VxWorks的内存模拟型的字符IO设备驱动程序,并实现任务间通信
要求:基于VxWorks的内存模拟型的字符IO设备驱动程序的设计,并编写应用程序实现任务间的通信,编写makefile文件。内存模拟型的字符IO设备驱动程序memDrv.c内存模拟型的字符IO设备驱动程序memDrv.c拟型的字符IO设备驱动程序memDrv.c:**/* memDrv.c - pseudo memory device driver */#include "memDrv.h"/*memDrv - install a memory driver*/STATUS memDrv (v
2022-01-24 21:29:10
1247
1
原创 Cortex-A9—U-Boot启动流程之链接脚本u-boot.lds详解
要分析 u-boot 的启动流程,首先要找到“入口”,找到第一行程序在哪里。整个程序的入口取决于链接脚本中ENTRY声明的地方(Ps:只有编译 u-boot 以后才会在根目录下出现 u-boot.lds 文件)。打开 u-boot.lds,内容如下:1 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")#指定输出可执行文件是32位ARM指令、小端模式的ELF格式。2 OUTPUT_ARCH(arm)#指定输出
2022-01-24 21:07:23
935
原创 C语言字符串函数sizeof、strlen、strcpy、strcat、strcmp、strchr、strstr、sprintf
在C语言中没有C++或Java中的string这个类型来表示字符串,在C中字符串实际上是使用\0结尾的一维字符数组。下面初始化创建了一个helloworld字符串,由于在数组的末尾存储了空字符,所以字符数组的大小比单词helloworld的字符数多一个。char str[8] ={‘h’,‘e’,‘l’,‘l’,‘o’,‘w’,‘o’,‘r’,‘l’,‘d’,\0’};或 char str[] = “helloworld”;字符在计算机中都是以ASCII值的形式来存储。以char str[]="h
2021-07-23 21:23:31
712
原创 判断系统是大端字节序还是小端字节序
两种存储数据的方式:小端字节序LSB 和大端字节序MSB。**小端字节序:**低位字节在前,高位字节在后,绝大部分处理器和系统都是小端字节序。**大端字节序:**高位字节在前,低位字节在后,网络通信采用大端字节序。如下图所示:实现判断的C代码如下:#include <stdio.h>#define LSB 1 //利用宏定义更加清晰#define MSB 0int is_lsb(void){ union //联合里面的成员是使用同一存储空间
2021-07-23 17:34:49
495
原创 Linux下网络socket客户端和服务器编程
目录1.传输层的TCP、UDP2. Socket2.1Socket是什么2.2 Socket通信2.3 Socket操作的API函数(TCP为例)3. Socket客户端和服务器端相互通信3.1 Socket服务器端3.2 Socket客户端3.3 聊天记录1.传输层的TCP、UDP传输层有两个重要的协议——TCP(Transmission ControlProtocol,传输控制协议)和UDP(User Data Protocol,用户数据报议)。**TCP:**相当于生活中的打电话TCP传输控
2021-02-07 22:27:46
874
原创 C程序内存布局
系统空间:每个程序运行独立4GB虚拟内存空间参数区:命令行传递的参数,int main(int argc,char **argv)栈区:局部变量(自动分配,{}内有效,离开{}失效)堆区:malloc分配的内存(自己管理,用完free,否则泄露).bss:未初始化的全局变量或static变量.data:已初始化的全局变量或static变量.rodata:const,#define,char *ptr="I am a beauty"等定义的数据常量文本段:编译出来的可执行文件的二进制代码。.
2021-01-23 15:14:42
177
原创 在C语言中sizeof和strlen的区别
sizeof是求某个存储空间的大小,而strlen是求字符串的长度,其中字符串以\0结尾,但strlen长度不包含\0。例如: char *ptr=“hello”; char arr[10]="hello";1、对于strlen而言,对ptr和arr求长度的话值是一样的,都是hello字符串的长度为5。(strlen(ptr)=strlen(arr))2、对于sizeof(ptr),因为ptr是指针,指针是用来存储地址的,地址是多少字节这是系统相关的。如果系统是32位则地址是32位,...
2021-01-16 11:18:53
526
原创 Linux学习笔记(基本命令、环境变量和命令行技巧、命令行标准输出重定向与管道)
3 linux的学习3.1学习内容3.1.1linux基本命令1)硬链接不能跨分区、不能链接文件夹。(共用inode号,使用unlink,硬连接数-1)。软链接(符号链接)相当于Windows下的快捷方式,没有任何文件系统的限制。2)main函数的参数argc表示命令行参数的个数,包括命令本身。3)gcc指定编译生成的文件名:gcc hello.c -o hello4)cp命令比mv命令慢,因为cp不共用inode号,要重新化分区,而mv只是新建一个目录项就行。5)pwd命令打印当前路径,cd
2020-12-23 18:22:24
182
原创 C语言学习笔记(数据类型与表达式、函数、字符串函数和文件函数)
2 C语言的学习2.1学习内容2.1.1数据类型和表达式1)ELF格式:linux下由c程序编译生成的可执行程序的格式。2)小端模式:高字节数据存在高地址,低字节数据存在低地址。大端模式:高字节数据存在低地址,低字节数据存在高地址。(大小端是以字节为单位进行数据存储的)3)c语言的可移植性(交叉编译)4)volatite:确保本条指令不会因为编译器的优化而省略。5)sizeof:一个操作符,返回一个对象或类型所占的内存字节数, eg: sizeof(int);//值为4,sizeof(2+3.
2020-12-23 18:16:59
187
原创 现代操作系统学习笔记(一二章)
1 操作系统的学习1.1学习内容1.1.1操作系统概述操作系统是管理硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件。操作系统有两个职责:对硬件进行管理和抽象,为应用提供服务并进行管理。从硬件的角度看,一方面,操作系统将复杂的、具备不同功能的硬件资源纳入统一的管理。另一方面,操作系统负责把硬件资源抽象成不依赖具体硬件特性的资源,将有限的、离散的资源高效地抽象成无限的、连续的资源。从应用的角度来看,一方面,操作系统提供了各种不同层次、不同功能的接口以满足应用的需求,还提供了不同类
2020-12-23 18:11:44
189
原创 STM32f103VCT6点灯(寄存器编程)
为了亮灯,首先要去查看原理图。原理图如下:由原理图知:led1、led2、led3、led4分别对应GPIOC的PC0、PC1、PC2、PC3引脚。(且低电平灯亮)下面我们来点亮led1(对应PC0),GPIOC的端口输出数据寄存器(ODR)对应的最低位即为PC0,此时应将最低位置0。GPIOC_ODR的地址为:0x40011000+0x0C(基地址+偏移)=0x4001100C,则将PC0置0的代码:*(unsigned int * ) 0x4001100C &=~(1<<
2020-12-15 22:55:03
2348
2
原创 一款简单易用的C语言集成开发软件C-Free
1、点击下方链接完成下载:[cfree](http://www.programarts.com/cfree_en/download.htm)2、接下来双击安装包3、均点击next(路径可以进行更改)4、最后点击安装即可5、打开cfree新建工程6、开始编译...
2020-10-31 13:59:50
400
原创 东南大学微电子预推免面试
今天刚面试完,结果还没出,感觉一般,专业问题很多不会。面试流程:英文对话+自我学习科研介绍+老师提问英文对话是一些日常的问题,我被问的是介绍家乡。老师提问是根据你的学科背景或者科研竞赛经验来提问。由于我没有科研没有竞赛,有半个月的实习经验,哈哈哈太惨了。所以我被疯狂提问专业课。因为我的自己介绍中介绍了我实习的项目。其中一个关于NB—IOT 的,所以我一介绍完,其中一位老师就问我NB—IOT中的NB是英文是啥,我哭我说我只会中文(窄带)。正确答案是narrow brand。下面我把我被问到的问题整理
2020-08-28 19:04:43
4167
27
原创 android 使用SD卡必须要添加的权限
使用SD卡必须要添加的以下权限:< uses-permission android:name=“android.permission.READ_EXTERNAL_STORAGE” />如果还需要进行读写操作,则需要权限:< uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE” />< uses-permission android:name=“android.permission
2020-08-13 08:41:12
1139
原创 andriod 将文件复制到模拟器的方法
操作界面如下图所示。注意:(1)文件将复制到模拟器的SD卡中,所以模拟器必须设置SD的大小。(2)复制的文件名不到太长。(3)复制的文件名只能是英文,不能将中文文件名复制到模拟器!...
2020-08-13 08:39:38
932
原创 ListView使用SimpleAdapter时,点击列表子项目,监听函数不响应的原因和处理方法。
如果item里面嵌套了抢焦点的控件(比如Button ,CheckBox等),那么点击item的时候,button等抢焦点的控件会抢先反应,这是因为item的焦点被button等控件抢了,想要item有自己的焦点,button等控件有自己的焦点的话,需要在item的根控件里面设置:android:descendantFocusability=“blocksDescendants”,这个属性值表示子有子的焦点,父有父的焦点:该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
2020-08-13 08:36:52
266
原创 andriod expandlistview中group的打开和关闭
1、默认app启动时,所有group都处于打开状态。代码如下: //所有项默认展开 int groupCount=expandablelistview.getCount(); for(int i=0;i<groupCount;i++){ expandablelistview.expandGroup(i); }2、 点击任何一个group,其他的group全部关闭。代码如下://点击group侦听器 setOnGroupClickListener(new OnGroup
2020-08-13 08:25:09
362
原创 android listview的监听
利用ListView设计一个班级成员列表。设计要求:(1)列表的每个子项均包含2项内容:证件照片和姓名;(2)完成ListView子项目的点击监听,将点击的子项目中的姓名以toast的方式显示出来。如下图所示:1、初始化相关代码: ll = (ListView) findViewById(R.id.ll); final String[] name = {"张三", "李四", "王五"}; int[] pic=new int[]{R.drawable.wxh,R
2020-08-13 08:09:50
1187
原创 单片机 串口通信实验
思考题:设计两个单片机通过串口方式1进行全双工数据通信,要求将波特率设置为2400,晶振频率为11.0592MHz,请分别编写发送程序和接收程序,接收端需使用液晶屏幕显示接收内容,发送端可循环发送一个字符串(自己定义一个字符串,例如“Welcome to Wuhan”)。(1)电路图如下:(2)设计思路:1、电路:两个单片机都是用P0口连接LCD1602数据线的0~7位,P20连接寄存器选择位RS,P21连接读写选择位RW,P2^2连接使能位E。然后甲机的RXD连乙机的TXD,甲机的TXD连乙机
2020-08-11 07:13:58
5564
原创 单片机 ADC0809模数转换实验
电路图如下:1、简单描述ADC0809工作过程ADC0809工作过程:(1)把通道地址送到ADDA~ADDC上,选择一个模拟输入端。(2)在通道地址信号有效期间,ALE上的上升沿把该地址锁存到内部地址锁存器。(3)START引脚上的下降沿启动A/D转换。(4)变换开始后EOC引脚呈现低电平,EOC重新变成高电平时表示转换结束。(5)OE信号打开输出锁存器的三态门并送出转换结果。2、在LCD1602上实现采样电压值的显示,输出参考下图(可自定义显示格式,但必须显示实际电压,精确到0.01V)
2020-08-11 07:13:47
22901
4
原创 单片机 DAC0832数模转换实验
1、描述DA0832实现DA转换的基本原理1、DAC0832是一个八位D/A转换器,D/A转换电路是一个R-2RT型电阻网络,可实现8位数据的转换。2、数据总线——DI7~DI0:转换数据输入控制总线(控制输入寄存器的打开)——ILE(数据锁存允许信号,高电平有效),CS(片选信号,低电平有效),WR1(写信号,低电平有效)控制DAC寄存器的写入——WR2(写信号,低电平有效),XFER(数据传输控制信号,低电平有效)3、通过对两个输入寄存器进行控制,可以采用双缓冲、单缓冲、直通的输入方式。
2020-08-10 12:45:51
15798
10
原创 单片机 LCD1602显示实验
1、请描述液晶显示器的显示原理,及其与数码管相比的技术特点。显示原理:液晶显示器是利用偏光板这个特性来完成的,利用上下两片栏栅之间相互垂直的偏光板之间充满了液晶,再利用电场控制液晶分支的旋转,来改变光的行进方向。与数码管相比:数码管是元件,显示器是器件。数码管在单片机中,一般仅做数字显示,而LCD可以显示数字、字符、汉字和图形。还有LCD显示器体积小,厚度薄,重量轻、耗能少、工作电压低(1.5到6V)且无辐射,无闪烁并能直接与CMOS集成电路匹配。2、定义uchar变量data,要求在LCD
2020-08-10 11:32:53
6328
原创 单片机 LCD1602屏幕的某一随机位置上反复出现字符‘8’然后擦除
在LCD1602屏幕的某一随机位置上反复出现字符‘8’然后擦除,注意字符‘8’出现在每个位置上的机率应尽量相同。产生随机位置的方法:用定时器加 rand()随机函数来实现单片机上电之后通过按键start去启动取随机数,若是单片机上电就立即取随机数的话,那每次上电随机的结果都是一样的。所以用循环来判断是否和前面取的随机数相同,相同则进入下次取随机数,不同则存入数组。代码如下:#include <reg51.h> #include <intrins.h>#include
2020-08-10 11:13:36
936
原创 单片机 串口采用中断服务收发数据
下图中左边的单片机用串口接收数据,用C语言编程,实现将接收的数值送到数码管进行实时显示(接收数据范围为0~9)。(1) 已知晶振频率=11.0592MHz;(2) 要求配置串口工作在异步方式,8位数据位,波特率=2400;(3) 必须用中断服务程序对接收数据进行处理并驱动显示,主程序中的后台循环while应为空。//发送#include <reg51.h>sbit button =P1^0;void delay(unsigned int n);char cnt
2020-08-10 11:08:02
1373
原创 单片机 灯光规律闪烁
用C51语言实现以下功能:设计一个灯光闪烁装置,闪烁模式为:电路图如下:代码如下:#include <reg51.h>unsigned char code display_list[4]={0xe7,0xdb,0xbd,0x7e};void delay(unsigned int n){unsigned int cnt; for(;n>0;n--){ for(cnt=0;cnt<1000;cnt++); }}void main(void){ uns
2020-08-10 10:56:16
680
原创 单片机编程实现2位秒表计时(利用仿真软件proteus)
如图,要求编程实现2位秒表计时,计时范围为00-99,溢出回零。同时还要具备以下功能:当点触START按键后才开始计时;计时过程中若点触RESET按键,则时间回零。晶振频率等于12MHz,秒误差不大于50%,建议使用软件延时实现1秒周期。代码如下:#include <reg51.h>unsigned char code display_list1[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uns
2020-08-10 10:46:19
5891
2
原创 斐波那契数列汇编语言编程计算前16项之和
斐波那契数列的前4项为1,1,2,3。已知斐波那契数列满足规则:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n ≥ 3,n ∈ N*),请用51单片机汇编语言编程计算出斐波那契数列前16项之和=(第1空)(用10进制表示)代码如下:dn0 data 20h;dn1 data 22hdn2 data 24hsum data 26hn data 29h ORG 0000Hstart: MOV R0,#16; MOV n,#1 MOV s
2020-08-10 10:41:21
2596
原创 单片机 基础题目
1、当8051单片机上电开机后,运行的第一条指令放在( )存储器的()地址空间里。A.数据存储器,0003HB.程序存储器,0000HC.寄存器, 0013HD.外部程序存储器,000BH答案:B难易程度:易答案解析:复位后寄存器的值题型:单选题2、有关存储器的说法,哪一个不正确( )。A.数据存储器和程序存储器是两个独立的存储器B.数据存储器的工作寄存器区域和位寻址区域相互独立,不重叠C.特殊功能寄存器属于内部数据存储空间的一部分D.内部数据存储器的位寻址区域与字节寻址区域相互独
2020-08-10 10:32:10
2367
原创 单片机 P0口、P1口 寄存器和引脚的不同
已知8051单片机的P0口8个引脚开路,P1口8个引脚均通过1k电阻上拉到电源(VCC)。MOV A, #10MOV B, #20MOV P1, AMOV P0, BADD A, BMOV B, P0ADD A, P1执行以上程序后,寄存器A =(第1空),B=(第2空),P0锁存器=(第3空),P1锁存器=(第4空)。答案:第一空:29;0x1d;0x1D;1dh;1dH;1Dh;1DH第二空:0;0x00;00h;00H第三空:20;0x14;14h;14H第四空:1
2020-08-10 10:23:30
3382
原创 蓝桥杯java矩形切割
样题 1:矩形切割(结果填空题)【问题描述】小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。例如,对于一块两边分别为 5 和 3 的材料(记为 5×3),小明会依次切出 3×3、2×2、1×1、1×1 共 4 个正方形。现在小明有一块矩形的材...
2020-01-30 17:20:29
421
原创 java蓝桥杯 基础练习 数列特征
问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1 <= n <= 10000...
2020-01-28 14:54:29
146
原创 蓝桥杯 java 十进制转十六进制
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入包含一...
2020-01-27 14:49:42
144
easynoted.zip
2020-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人