Linux可视化界面配置
安装可视化界面
更新系统软件包
1sudo apt update
安装XRDP
1sudo apt install xrdp
安装桌面环境(Xfce)
12sudo apt install xfce4sudo apt install xfce4-goodies
配置XRDP使用Xfce
1echo xfce4-session > ~/.xsession
重启XRDP服务
1sudo systemctl restart xrdp
在Windows上使用远程桌面连接
打开远程桌面连接:在Windows上,按Win + R,输入mstsc并回车,或者通过开始菜单搜索“远程桌面连接”。
输入Linux主机的IP地址:在“计算机”字段中输入Linux主机的IP地址,然后点击“连接”。
输入Linux用户名和密码:在提示时输入您的Linux用户名和密码。
开始远程桌面会话:连接成功后,您应该会看到Linux桌面环境。
其他注意事项
确保Linux防火墙允许3389端口的通信(这是XRDP使用的默认端口):
1sudo ufw a ...
WPF编程宝典 - 13几何图形和图画
路径和几何图形
Path类能够包含任何简单形状、多组形状以及更复杂的要素,如曲线。Path类提供了Data属性,该属性接受一个Geometry对象,该对象定义路径包含的一个活多个图形。不能直接创建Geometry对象,因为Geometry时抽象类,而是需要使用下表的7可派生类中的一个进行创建。
几何图形类
名称
说明
LineGeometry
代表直线,该几何图形相当于Line形状
RectangleGeometry
代表矩形(可以具有圆形拐角),该几何图形相当于Rectangle形状
EllipseGeometry
代表椭圆,该图形相当于Ellipse形状
GeometryGroup
为单个路径添加任意多个Geometry对象,使用EvenOdd活NonZero填充规则来确定要填充的区域
CombinedGeometry
将两个几何图形合并为一个形状。可使用CombineMode属性选择如何组合两个几何图形
PathGeometry
代表更复杂的由弧线、曲线以及直线构成的图形,并且既可以时闭合的,也可以不是闭合的
StreamGeometry ...
WPF编程宝典 - 12形状、画刷和变换
理解形状
在WPF用户界面中,绘制2D图形内容的最简单方法时使用形状(Shape)——专门用于表示简单的直线、椭圆、矩形以及多边形的一些类。从技术角度看,形状就是所谓的绘图图元(Primitive)。可组合这些基本元素来创建更复杂的图形
关于 WPF 中形状的最重要细节是,它们都继承自FrameworkElement类。因此,形状是元素。这样会带来许多重要的结果:
形状绘制自身:不需要管理无效的情况和绘图过程。例如,当移动内容、改变窗口尺寸或改变形状属性时,不需要手动重新绘制形状。
使用与其他元素相同的方式组织形状:换句话说,可在任何布局容器中放置形状(尽管 Canvas 明显是最有用的容器,因为它允许在特定的坐标位置放置形状,当构建复杂的具有多个部分的图画时,这很重要)。
形状支持与其他元素相同的事件:这意味着为了处理焦点、按下键盘、移动鼠标以及单击鼠标等,不必执行任何额外工作。可使用用于其他元素的相同事件集,并同样支持工具提示、上下文菜单和拖放操作。
Shape类
每个形状都继承自抽象类System.Windows.Shapes.Shape。下图显示了形状类的继承层 ...
WPF编程宝典 - 11样式和行为
样式(style)时组织和重用格式化选项的重要工具。不是使用重复的标记填充XAML,以便设置外边距、内边距、颜色以及字体等细节,而是创建一系列封装所有这些细节的样式,然后在需要之处通过属性来应用样式
行为(behavior)时一款重用用户界面代码的更有挑战性的工具。其基本思想时:使用行为封装一些通用的UI功能(例如,使元素可被拖动的代码)。如果具有适当的行为,可使用一两行XAML标记将其附加到任意元素,从而节省编写和调试代码的工作。
样式基础
样式是可应用于元素的属性值集合。WPF 样式系统与 HTML标记中的层叠样式表(CascadingStyle Sheet,CSS)标准担当类似的角色。与 CSS 类似,通过 WPF 样式可定义通用的格式化特性集合,并且为了保证一致性,在整个应用程序中应用它们。与CSS样,WPF样式也能够自动工作,指定具体的元素类型为目标,并通过元素树层叠起来。然而,WPF样式的功能更加强大,因为它们能够设置任何依赖项属性。这意味着可以使用它们标准化未格式化的特性,如控件的行为。WPF样式也支持触发器(trigger),当属性发生变化时,可通过触发器改 ...
WPF编程宝典 - 10资源
资源基础
WPF允许在代码中以及在标记中的各个位置定义资源(和特定的控件、窗口一起定一,或在整个应用程序中定义)。资源具有很多重要的优点,如下所述:
高效:可以通过资源定义对象,并在标记中的多个地方使用。这会精简代码,使其更高效
可维护性:可通过资源使用低级的格式化细节(如字号),并将它们移到便于对其进行修改的中央位置。在XAML中创建资源相当于在代码中创建常量。
适应性:一旦特定信息与应用程序的其他部分分离开来,并放置到资源部分中,就可以动态地修改这些信息。例如,可能希望根据用户的个人喜好或当前语言修改资源的细节。
资源集合
每个元素都有Resources属性,该属性存储了一个资源字典集合(它是ResourceDIctionary类的示例)。资源集合可包含任意类型的对象,并根据字符串编写索引。
尽管每个元素都提供了 Resources 属性(该属性作为 FrameworkElement 类的一部分定义),但通常在窗口级别定义资源。这是因为每个元素都可以访问各自资源集合中的资源,也可以访问所有父元素的资源集合中的资源。
12345678<Window.Resour ...
51单片机 - 05LED实验
51单片机GPIO介绍
51单片机4类GPIO口特点说明:
P0口是漏极开路,要使其输出高电平,必须外接上拉电阻,通常选择4.7K~10K阻值
P0、P1、P2几乎都用做普通I/O口使用,即可作为输入,有课作为输出
P3口即可用作普通I/O口,又可作为第二功能使用,比如窗口、外部中断、计数器等
GPIO概念
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。51单片机芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。不过 GPIO 最简单的应用还属点亮 LED 灯了,只需通过软件控制 GPIO 输出高低电平即可。当然 GPIO还可以作为输入控制,比如在引脚上接入一个按键,通过电平的高低判断按键是否按下。
GPIO引脚图中带有Px.x等字样的均属于GPIO引脚。从引脚图可以看出,GPIO占用了芯片大部分的引脚,共达32个,分为4组,P0、P1、P2、P3,每组为8可IO,而且在P3组中每个IO都具备额外功能,只要通过相应的寄存器设置即可配置对应的附加功能,同一时刻 ...
Git基础教程
Git配置
设置用户名和邮箱
用于设置提交记录中的用户名和邮箱,这些信息会出现在每一次提交中。
12git config --global user.name "your name"git config --global user.email "your email"
示例
12git config --global user.name "John Doe"git config --global user.email "john.doe@example.com"
配置SSH
Git通过SSH连接Github,详情可见 SSH配置
创建仓库
初始化git仓库
在当前目录下创建一个新的Git仓库,生成一个隐藏的.git目录用于存放Git的所有版本控制信息。
1git init
示例
1234567891011mkdir myprojectcd myprojectecho "# MyExample" >> README.mdgit initgit add READ ...
51单片机 - 04单片机工程模板创建
51单片机工程模板创建
新建工程
创建项目
打开Keil软件,新建一个工程
在保存项目文件窗口,手动创建一个项目目录,例如Teample
选择CPU型号
根据开发板的CPU具体的型号来选择,我们开发板使用的是STC89C52或STC89C516芯片。在Keil软件内找不到这种型号的单片机,因为51内核单片机具有通用性,所以在这里可以任选一款89C52就行,Keil软件的关键是程序代码的编写,而非用户选择什么硬件,在这里我们选择Microchip的AT89C52来说明。具体操作如下:
点击OK键后,弹出如下对话框:
看对话框内容是提示我们是否要将8051启动文件添加到工程中,这里我们选择“否”,原因是Keil C51内已经帮我们完成了启动,所以只需要编写应用程序即可。选择“否”后界面如下:
给工程添加文件
选择**File/New…**或者使用工具栏的图标 来新建一个文件后点击保存,系统会自动定位到我们工程目录,只需要在文件名栏输入新建的文件名即可,一个51单片机工程必须还有且仅有一个main函数,因此将新建的文件命名为main.c(当然也可以 ...
51单片机 - 03单片机最小系统
单片机最小系统构成
若要使系统正常运行,必须确保单片机的最小系统稳定工作。51单片机的最小系统由以下几部分组成:
晶振电路
复位电路
电源电路
晶振电路提供时钟给单片机工作,犹如人的心脏。复位电路提供系统复位操作,当系统出现运行不正常或者死机等情况时,可以通过复位按键重新启动系统电源电路也是非常关键的一个部分,因为单片机对供电电压是有要求的,如果电压过大将烧坏芯片,如果电压过小系统将运行不了。所以选择一个合适稳定的电源电路是非常关键的。
晶振电路
由于单片机正常工作需要一个时钟,因此就需要在其品振引脚上外接晶振(我们使用的 STC89CXX 单片机晶振引脚是18和 19 脚),至于需要多大晶振这就取决于你所使用的单片机,由于我们使用的是51单片机,其时钟频率可在0-40MHZ上运行,一般情况下我们建议选择12M(适合计算延时时间)或者是11.0592M(适合串口通信)。若直接将此晶振接入单片机品振引脚,会发现系统工作不稳定,这是因为品振起振的一瞬间会产生一些电感,为了消除这个电感所带来的于扰,可以在此晶振两端分别加上一个电容,电容的选取需要无极性的,另一端需要共地。根据 ...
51单片机 - 02_51单片机介绍
单片机介绍
单片机简介
一台能够工作的计算机要有这几个部件构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备,而字啊单片机中,这些部件全部被做到一块集成电路芯片中,所以就称为单片机(也称为微控制器MCU)
51单片机时对所有兼容Intel 8031指令系统的单片机的统称
Intel(英特尔) :i80C31、i80C51、i87C51、i80C32、i80C52、i87C52等
ATMEL(艾德梅尔) :AT89C51、AT89C52、AT89C2051、AT89S51(RC)、AT89S52(RC)等
STC(国产宏晶) :STC89C51、STC89C52、STC89C516、STC90C516等
51单片机引脚图
8051内部结构
STC89CXX芯片介绍
命名规则
STC: 前缀,表示芯片为STC公司生产的产品。其他前缀还有如:AT,I,Winbond,SST等。
8: 表示该芯片为8051内核芯片。
9:表示内部含 FlashE²PROM 寄存器。还有如80C51中0表示内部含有 Mask Rom(掩模ROM)存储器;又 ...