- 博客(31)
- 收藏
- 关注
原创 led设备驱动实现read()、write()接口,应用层通过read()接口可获得led当前亮灭状态,通过write()接口可控制led亮灭。
依靠相同的驱动,完成第二个任务:led控制应用程序首先打印个人对应的“年级+专业+学号+姓名”信息,然后创建线程A与B,以及信号量A’与B’,线程A负责点亮led,线程B负责关闭led。当线程A接收到信号量A’时点亮led,等待10秒后向线程B发送信号量B’,随即线程A又继续等待信号量A’;当线程B接收到信号量B’后关闭led,等待10秒后向线程A发送信号量A’,随即线程B又继续等待信号量B’。当输入“./ledApp led”时,程序检测到只有两位输入,则执行read命令,读取当前led文件的状态。
2023-12-20 22:12:08
150
原创 python
3.13 假设有列表a=['name','age','sex]和b=['Dong',38,'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为。3.12 使用字典对象的方法可以返回字典的“键:值”对,使用字典对象的方法可以返回字典的“键”,使用字典对象的方法可以返回字典的“值”。3.8 假设列表对象aList的值为[3,4,5,6,7,9,11,13,15,17],那么切片aList。列表中介于两个下标之间的元素组成的子列表。
2023-12-14 14:39:22
69
原创 基于点云场景的pointnet算法
该节点会发布两个话题,被是识别为地面的点云(/filtered_points_no_ground)和去除地面以后的点云(/filtered_points_no_ground)。首先是euclidean_cluster_core.h,他在 cd/ch8_pointcloud_ground_filter/euclidean_cluster中。最后修改在 cd/ch8_pointcloud_ground_filter/point_ground_filter中的CMakedLists.txt文件。
2023-12-09 20:14:27
168
原创 嵌入式系统原理与应用——基于Linux和ARM笔记整理
Im处理器中通用寄存器有哪些鸽子的作用是什么?嵌入式系统软件开发过程中为什么要采用交叉开发模式调试的通信端口主要有哪些?说明内存映射的主要作用,分析ARM处理外设的寄存器定义方式及其作用。分析c语言程序中的常量全局变量局部变量在运行中分别存放在哪些存储空间中,对内存有何影响?分析中断相应的基本条件和中断处理的执行流程,并分析不同外部中断请求中断源的识别过程·程序执行过程中需要哪些寄存器和存储器的参与?复杂指令集与精简指令集的优缺点各有哪些?查找资料,了解Linux软件开发工具主要有哪些作用,分别是什么?
2023-12-04 12:54:25
606
原创 嵌入式系统原理与应用 Linux操作系统
操作系统是专业人员专门用于管理的工具。人与机器之间用人机接口交互,人机接口包括命令接口和编程接口,编程接口又成为API应用接口。大部分OS是分时的。所谓的分时,就是分时复用,利用了时间片。所谓“实时的”,就是一次只干一件事,但可以被打断,有优先级。操作系统的主要行为:组织与管理。
2023-12-01 21:15:05
63
原创 嵌入式系统原理与应用 第四章 ARM与LINUX
一般,全局变量存放于固定地址空间;局部变量和CPU状态一般存于栈空间中,栈空间实际存放的方式于全局变量一样。RAM(Random Access Memory,位于存储器层次底层)按策略进行分类,有实时OS和分时OS。实时OS又包括时间片和事件。它屏蔽了硬件差异,将所有端口都抽象为文件,然后再进行文件相关的操作。选择合适的方法就是调度策略的问题了。而调度策略依赖于多个调度器。DRAM(动态Dynamic,比SRAM慢,但容量更大)Cache(高速缓存,可以加快CPU访问数据的速度)核心概念:“一切皆为文件”
2023-12-01 20:59:20
53
原创 嵌入式系统原理与应用 第六章 字符设备
include/linux/fs.h 中有个叫做 file_operations。驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流。,LCD等等都是字符设备,这些设备的驱动就叫做字符设备驱动。进行读写操作的设备,读写数据是分先后顺序的。
2023-11-28 11:37:22
54
原创 工程设计1任务书1 浮球液位控制系统
下图所示为液位控制系统,假设稳态输入流量为Qi,稳态输出流量为Qo,稳态水位为H,稳态导阀的位移为X=0,稳态阀的位置为Y。假设定点R对应于稳态水头H,设定点是固定的。又假设扰动输入流量qd在t=0时刻作用于水箱,qd的量值很小。
2023-11-24 15:37:24
152
1
原创 基于windows系统的yolov5测试
用vs code打开该工作空间,然后打开detect.py文件。前往该文件夹,找到处理后的视频。打开以下链接,下载工作空间。运行detect.py代码。图片的处理过程基本相同。
2023-11-23 21:52:53
45
原创 撰写用例规格说明书
2.机械手、搬运小车、传送带需要按照规定的轨迹行动,并及时发出对应的信号,以保证装配过程的顺利进行。1.自动装配线系统具备足够的稳定性和精确性,以确保机械手能准确抓取和装配零件。3.搬运小车已发出ready2信号,机械手收到ready2信号。1.自动装配线已搭建号,包括搬运小车、装配机械手和传送带。2.零件A已由仓库操作员/设备装载到搬运小车上。2.机械手移动到搬运小车终点位置。4.机械手移动到装配预备位置等待。1.机械手收到ready2信号。5.机械手发出ready3信号。3.机械手抓取零件A。
2023-11-23 09:33:24
91
原创 ros智能车 第三章 SLAM建图及导航案例
打开racecar/src/racecar/launch/param/ten/base_global_planner_params.yaml等yaml文件。打开雷达的相关文件/racecarsrc/LSLIDAR_M10/lsx10/launch/lslidar_x10_serial.launch。在新弹出的界面中依次选中 File/Recent Configs/racecar/rviz/amci.rviz。打开vscode,再连接小车(就是在vscode最上方的输入框中输入小车的IP地址)
2023-11-21 15:24:28
341
原创 ros智能车 第二章 传感器配置与测试
在 /racecar/src/encoder_driver/src/encoder_driver/src发现一个.py文件,一个.cpp文件。找到n.param('frame_id',frame_id,string("IMU_link"));在 /src/serial_imu/src/serial_imu.cpp。在 /src/hi226_imu/src/imu.cpp。在此使用ls 命令查看,查看是否有imu的相关功能包。在小车终端中进入ros环境,然后输入命令进行编译操作。再输入命令进入ros环境。
2023-11-21 09:30:07
168
原创 ros智能车 第一章 环境搭建
复制打开的文本中的125-126行,在vi编辑器中“source /usr/local/后面地址略”这一行的下面输入。在124行 source /opt/ros/noetic/setup.bash后加入。export ROS_MASTER_URI=http://小车的IP地址。export ROS_MASTER_URI=http://小车的IP地址。export ROS_HOSTNAME=Ubuntu小车的IP地址。输入vim /etc/hosts 进入小车环境。输入 vim /root/.bashrs。
2023-11-21 08:14:13
116
原创 电机拖动与控制 第三章 拖动与控制
直流电机的工作特性(探索电枢电流大小与效率的关系)包括:转速特性(理想时是一条线性递减的函数,实际时在曲线尾部会略微上翘)、转矩特性、效率特性(特点是有一个峰值)有关方程包括:自励过程电压方程(与励磁回路有关,因此全是含f的变量)、励磁电流、额定负载电流、电枢电流、电枢电动势、电磁功率、输入功率、电磁转矩、效率。直流电机的基本方程包括:电枢回路方程(含a)、励磁回路方程(含f)、转矩平衡方程(含T)、损耗关系方程、效率关系方程。电机运行状态分类:额定运行、过载运行(易造成电机损坏)、欠载运行(效率低)
2023-11-20 17:03:49
768
1
原创 电机拖动与控制 第二章 电力拖动系统
直流电机的工作特性(探索电枢电流大小与效率的关系)包括:转速特性(理想时是一条线性递减的函数,实际时在曲线尾部会略微上翘)、转矩特性、效率特性(特点是有一个峰值)有关方程包括:自励过程电压方程(与励磁回路有关,因此全是含f的变量)、励磁电流、额定负载电流、电枢电流、电枢电动势、电磁功率、输入功率、电磁转矩、效率。他励直流电动机的机械特性表达式、固有机械特性表达式(相比机械特性是不穿电阻的)、人为机械特性、3-12 他励直流电动机的技术数据为:R=7.5kW,U=110V,I?
2023-11-20 12:35:46
535
1
原创 电机拖动 第一章 直流电机原理
换向器负责在旋转部件与静止部件之间传导电流,它将电刷上的直流电源电流变换成电枢绕组内的交流电流,使得电磁转矩的方向稳定不变,并且有助于形成同向的转矩来推动转子旋转。而转子部分则由电枢铁芯、电枢(也称为舒绕组)、换向器和转轴等部件构成,转子的主要作用是产生电磁转矩和感应电动势,从而实现了机电能量的转换。1-3 在直流发电机中电刷两端的电动勢为直流,电枢绕组中的电动势为交流还是直流?1-4 在直流电动机中外加的刷间电压己是直流,为什么还需加装电刷和换向片?他励直流电动机的各种人为机械特性曲线的变化特点是什么?
2023-11-20 10:12:02
613
1
原创 编写一个应用程序,要求包含3个进程,每个进程中包含2个线程,采用共享内存、套接字、信号量等通信方式实现进程间的通信、同步、互斥操作
导入库函数声明所有线程函数3个进程,每个进程中包含2个线程。
2023-11-19 17:02:01
292
原创 在嵌入式Linux中创建四个进程,2个实时进程,2个非实时进程。每个进程中创建两个线程,在线程中调用系统服务来测试任务可中断睡眠、不可中断睡眠、暂停3中状态的切换,用一个 进程来测试进程退出过程。
在嵌入式Linux中创建四个进程,2个实时进程,2个非实时进程。每个进程中创建两个线程,在线程中调用系统服务来测试任务可中断睡眠、不可中断睡眠、暂停3中状态的切换,用一个 进程来测试进程退出过程。任务要求: 1.说明进程创建与线程创建过程;2.分别说明你在不同进程状态切换中使用的系统调用是哪种;3.通过串口输出进程状态切换的打印信息,并截图插入作业报告中。导入所有库函数定义进程,创建进程,打印进程的pid,打印进程的父进程修改进程的创建过程,实现创建两个实时进程,两个非实时进程。
2023-11-19 11:32:32
470
1
原创 多线程编程(Linux下的POSIX线程)
进程标识符PID,线程标识符tid(一个pthread_t类型变量),且它们的作用域范围不一样。3,由其他线程调用pthread_cancel而结束。首先,线程之间是共享资源的,而这份资源就叫做进程。pthread_tryjoin_np非阻塞方式。2.pthread_exit由该线程主动结束。在Linux终端编译时包含pthread库。1.进程结束后所有线程会随之结束。pthread_join阻塞方式。
2023-11-19 10:20:51
34
原创 进程与线程管理
进程定义:每一个打开的,会占用资源的任务。把CPU比作坑位,那进程就是那个把门从里面反锁的人。PID是进程的标识符。可以发现,使用ps -ef后弹出的进程过多,因此可以使用管道符"|grep"来进行过滤。同时,进程不仅可以被用户启动,也可以被其他进程启动,因此有了父进程与子进程的关系。tty列为问号,表示该进程不是由终端启动的,而是由系统内置启动的。关闭进程,在Linux中使用代码kill -9,其中-9表示强制关闭。对PID进行过滤可以找出跟其有亲缘关系的所有进程。关闭进程,在Windows中。
2023-11-19 08:58:41
36
原创 gcc编译器
最后才出现了高级语言,所以我们现在学的其实是最简单的部分,而复杂的编译过程也不过是机器希望试图自己语言的最后一丝抵抗而已。PS:如果出现头文件找不到的情况,可以在一句gcc命令后面以"./"开头指定查找头文件的文件目录,如gcc -c -o main.o main.c -I ./。头文件:<> 会令计算机在指定的目录中寻找,也可以用‘-I(i的大写) dir’的方式指定目录。库文件:-l(L的小写) 会在指定的lib目录下找,也可以用-L dir指定目录寻找。预处理后编译,得到.i文件。
2023-11-18 21:07:24
36
1
原创 如何在Ubuntu与Windows之间传文件
在本地站点中粘贴Windows下的路径,在远程站点中粘贴Ubuntu下的路径,均找到后就可以直接拖动来传输文件了。打开FileZilla。在上方主机中粘贴复制内容;用户名、密码是每台虚拟机都不一样的;打开Ubuntu后,用Ctrl+Alt+T打开终端Terminal。复制终端中出现的192.168.146.128。用ifconfig命令产看IP地址。
2023-11-18 17:59:41
171
1
原创 使用workbench创建与修改数据库
从左到右分别是查看表格的详细信息,设置表的结构界面,使用SQL语句对表格进行查询的界面。其中PM表示主键,NN表示不可为孔,UQ表示不可有重复,AI表示自增。点击第三个图标,有两种方式可以对数据表的内容进行修改,一是使用代码,二是直接在Result Grid中进行修改。解压后,Windows11搜索栏打开控制面板,然后选择Windows工具。点击设置ODBC数据员(32位)后,选择系统DSN,然后再点击添加。然后点击两次Apply,即可发现左边的框中出现了刚刚创建的数据库。第二种方法,点击新建。
2023-11-18 14:44:38
971
原创 SQLserver的Ubuntu与Windows安装
输入"mysql -u debian-sys-maint -p"后再输出上图中的密码,即可连接到MySQL服务。如果要修改密码,使用命令,并将"="后的对象修改;ubuntu上的sql服务是自带密码的,因此可以使用命令查看。当然,直接使用vs code下载shell插件也是可以的。默认使用JS,切换为python。然后即可执行python代码。安装好后,用命令开启功能。手动启动mysql服务。查看是否开启sql命令。
2023-11-17 17:24:36
98
原创 使用PowerDesigner165绘制概念模型
点击上图中的Attributes,进入下图界面。红框框出的分别实体Entity以及联系Relationship,它们两者共同组成了E-R模型。创建实体后,点击Standard框下的箭头,然后双击要编辑的实体,得到以下界面。创建实体后,点击Standard框下的箭头,然后双击要编辑的联系,得到以下界面。然后就可以选择联系的类型了。创建完后,再点击data下的单元格,即可标注该属性的类型。如上图选中后,从起点拖动鼠标到终点,即可完成联系的创建。然后点击Name下的单元格即可创建啦。
2023-11-17 13:01:22
312
原创 PowerDesign学习笔记
安装位置提取码:jdt5下载得到压缩包如下:解压图中的选中文件后,运行PowerDesigner165.exe文件。之后一直点击next即可这边注意修改“Destination directory”,毕竟你也不想自己的C盘爆满吧注意勾选下面这张图中的所有选项安装过程,此时会消耗一些时间finish安装完成。
2023-11-17 12:17:13
33
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人