1. 用STM8S103F3单片机,我只要用了AD功能,PD5(AIN5)引脚就不能用作输入了。PD5的输入寄存器一直都是0 。
你用的是开发板吗,请看一下原理图是那个脚是不是复用连接到其他器件了,万用表测一下那个脚是不是一直为低
2. 按了F1还是进不去界面
电脑启动时,会先加载MBR (/usr/lib/syslinux/mbr.bin),然后MBR查找那些活动的分区(标注了可启动的),找到这个分区后,卷启动记录程序(VBR=volume boot record)将被执行。 如果是ext2/3/4和fat 12/16/32,ldlinux.sys开始的扇区是被写死进卷启动记录程序里的,卷启动记录程序将执行(ldlinux.sys)。当然,如果ldlinux.sys 的位置发生改变,syslinux将无法加载。 如果是btrfs,因为文件不断移动导致ldlinux.sys扇区的位置不断变化,而让上面方法失效。从而使得整个syslinux需要被存储在文件系统之外。程序将被存储在卷启动记录程序之后。
当syslinux完全加载完毕,它将自动寻找一个配置文件,名字叫 extlinux.conf 或者syslinux.cfg.找到之后,将加载整个配置文件,否则,将给出提示
自动完成安装
syslinux-install_update脚本将自动安装Syslinux, 复制COM32模块到/boot/syslinux, 设置启动标识,安装到MBR.可自动根据softraid处理MBR和 GPT磁盘。
下面是过程: 1. 安装Syslinux
pacman -S syslinux
2. 确认/boot是否已经加载
3. 运行脚本syslinux-install_update ,参数使用 -i (安装) -a (设可启动标识) -m (安装到mbr)
/usr/sbin/syslinux-install_update -i -a -m
4. 修改配置文件 /boot/syslinux/syslinux.cfg
Note: For this to work with GPT, the gptfdisk package is needed as the backend for setting the boot flag.
手工完成安装
Note: 若你不知你所使用的分区表是使用什么 (MBR or GPT), 默认一般使用的是MBR分区表。大部分情况下,GPT将使用整个磁盘创建一个特殊的MBR-类型的分区(type 0xEE) ,使用下面命令可显示:
# fdisk -l /dev/sda
或者可以这样:
# sgdisk -l /dev/sda
若其非GPT磁盘,将显示 " GPT: not present".
Note: If you are trying to rescue an installed system with a live CD, be sure to chroot into it before executing these commands. If you do not chroot first, you must prepend all file paths (not /dev/ paths) with the mount point.
Make sure you have the syslinux package installed. Then install Syslinux onto your boot partition, which must contain a fat, ext2, ext3, ext4, or btrfs file system.
# mkdir /boot/syslinux
# extlinux --install /boot/syslinux #run on a mounted directory (not /dev/sdXY)
/boot/syslinux/ is device /dev/sda1
MBR分区表
需要标识启动分区为激活状态.可用这些工具实现:fdisk, cfdisk, sfdisk, (g)parted.最后结果看起来是这样:
# fdisk -l /dev/sda
[...]
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 104447 51200 83 Linux
/dev/sda2 104448 625142447 312519000 83 Linux
安装到主启动卷区:
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sda
GUID Partition Table aka GPT
Main article GUID_Partition_Table
Bit 2 of the attributes for the /boot partition need to be set.
# sgdisk /dev/sda --attributes=1:set:2
This would toggle the attribute legacy BIOS bootable on partition 1
Verify:
# sgdisk /dev/sda --attributes=1:show
1:2:1 (legacy BIOS bootable)
安装主启动卷区:
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/gptmbr.bin of=/dev/sda
重启
如果此时重启,会有提示,以确认是自动启动还是给出一个启动菜单,此时需要创建一个配置文件。
配置 syslinux
syslinux的配置文件 syslinux.cfg 必须和syslinux放在同一个目录下,在我们的例子中,是 '/boot/syslinux/'
启动器将自动寻找这两个配置文件:syslinux.cfg (优先) 或者 extlinux.conf
补充:
Instead of LINUX, the keyword KERNEL can also be used. KERNEL tries to detect the type of the file, while LINUX always expects a Linux kernel.
TIMEOUT 的值是1/10秒,也就是50代表5秒
示例
比较简单的 Syslinux 配置
这是一个非常简单的配置,有启动提示,并且在5秒后自动启动第一个系统。
配置文件:
PROMPT 1
TIMEOUT 50
DEFAULT arch
LABEL arch
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 ro
INITRD ../initramfs-linux.img
LABEL archfallback
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 ro
INITRD ../initramfs-linux-fallback.img
若不想看到提示,设置PROMPT(显示时间)为0.
文本的启动菜单
把模块menu COM32复制到syslinux目录中,即可使用文本菜单:
# cp /usr/lib/syslinux/menu.c32 /boot/syslinux/
若没有给/boot单独分区,且和/usr同一分区,那么,也可以仅使用一个软链接:
# ln -s /usr/lib/syslinux/menu.c32 /boot/syslinux/
配置:
UI menu.c32
PROMPT 0
MENU TITLE Boot Menu
TIMEOUT 50
DEFAULT arch
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 ro
INITRD ../initramfs-linux.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX /vmlinuz-linux
APPEND root=/dev/sda2 ro
INITRD /initramfs-linux-fallback.img
更多信息可见: http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=blob;f=doc/menu.txt.
图形化的启动菜单
把vesamenu COM32移入到syslinux目录中,可使用图形启动界面:
# cp /usr/lib/syslinux/vesamenu.c32 /boot/syslinux/
若没有给/boot单独分区,且和/usr同一分区,那么,也可以仅使用一个软链接: :
# ln -s /usr/lib/syslinux/vesamenu.c32 /boot/syslinux/
This config uses the same menu design as the Arch Install CD: syslinux.cfg
The background file can be found here: splash.png
Config:
UI vesamenu.c32
DEFAULT arch
PROMPT 0
MENU TITLE Boot Menu
MENU BACKGROUND splash.png
TIMEOUT 50
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 11
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 ro
INITRD ../initramfs-linux.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 ro
INITRD ../initramfs-linux-fallback.img
Since Syslinux 3.84 vesamenu.c32 supports the "MENU RESOLUTION $WIDTH $HEIGHT" directive. To use it, insert "MENU RESOLUTION 1440 900" into your config for a 1440x900 resolution. The background picture has to have exactly the right resolution however as syslinux will otherwise refuse to load the menu.
Chainloading
If you want to chainload other operating systems (such as Windows) or boot loaders, (or symlink) the chain.c32 mole to the syslinux folder (for details, see the instructions in the previous section). Then, create a section in the configuration file:
LABEL windows
MENU LABEL Windows
COM32 chain.c32
APPEND hd0 3
hd0 3 is the third partition on the first BIOS drive - drives are counted from zero, but partitions are counted from one. For more details about chainloading, see[1].
If you have grub2 installed in your boot partition, you can chainload it by using:
LABEL grub2
MENU LABEL Grub2
COM32 chain.c32
append file=../grub/boot.img
This maybe required for booting from iso images.
3. 如果鼠标坏了,如何光用键盘操纵电脑呢
鼠标坏了可以用键盘控制,电脑用键盘当鼠标方法:
准备工具:
Windows10系统电脑
具体步骤:
1、在Windows10桌面,依次点击开始/Windows系统/控制面板菜单项。
4. 我开源了一个绝对好用的基于vue2、vue3的系统步骤引导组件。
vue-intro-step请注意!!!这里是基于vue2版本的组件库基于vue2的系统步骤引导组件。更加便捷的操作步骤引导。vue3版本的步骤引导组件请移步vue3-intro-step
vue-intro-step求??????????????????
安装npmivue-intro-step--save[可选]为了更好的使用vue-intro-step使引导组件显示、隐藏不突兀可以安装animate.css实现动画效果
npmianimate.css--save#在main.js中引入import'animate.css'全局引用main.js
importVuefrom'vue'importVueIntroStepfrom'vue-intro-step'Vue.component('vue-intro-step',VueIntroStep);局部引用<template><vue-intro-stepv-model="show":config="config"@close="closeIntro"/></template><script>importVueIntroStepfrom'vue-intro-step'exportdefault{name:'App',components:{VueIntroStep},data(){return{show:false,config:{backgroundOpacity:0.8,titleStyle:{textAlign:'center',fontSize:ཏpx',},contentStyle:{textAlign:'center',fontSize:ཋpx',},tips:[{el:'#intro_title',tipPosition:'bottom',title:'欢迎使用问答管理系统',content:'点击左侧菜单进行操作',onNext:()=>{returnnewPromise((resolve,reject)=>{//延迟2秒再执行下一步setTimeout(()=>{resolve(true);},2000);});}},{el:'#intro_mine',tipPosition:'left',//title:'点击进入个人中心',content:'查看个人信息,修改密码查看个人信息,修改密码查看个人信息,修改密码查看个人信息,修改密码查看个人信息,修改密码查看个人信息,修改密码查看个人信息,修改密码查看个人信息,修改密码',//点击上一步时,触发的事件onPrev:()=>{returnnewPromise((resolve)=>{resolve(true);});},onNext:()=>{returnnewPromise((resolve)=>{//当页面很长,下一步的内容不在此可视区域内时,可进行下面操作document.body.style.overflow='auto'//让body滚动到顶部window.scrollTo(0,0)resolve(true);});}},{el:'#intro_user',tipPosition:'right',title:'点击进入用户管理',content:'查看用户信息,添加用户',onNext:()=>{returnPromise.resolve(true)}},{el:'#intro_save',tipPosition:'top',title:'点击进入用户管理',content:'查看用户信息,添加用户'}]}}},methods:{closeIntro(){//不需要this.show=false,因为v-model会自动更新console.log('关闭');},}}</script>自定义底部按钮<template><vue-intro-stepv-model="show":config="config"ref="myIntroStep"><!--插槽-自定义底部按钮tipItem当前的提示信息index当前提示新的索引不写的话,会显示默认的底部按钮--><template#prev="{tipItem,index}"><button@click="prev(tipItem,index)">上一步</button></template><template#next="{tipItem}"><button@click="next(tipItem)">下一步</button></template><template#done><button@click="done">done</button></template><template#skip><button@click="done">skip</button></template></vue-intro-step></template><script>exportdefault{methods:{done(){this.show=false;},next(tipItem){//tipItem当前的提示项信息//调用vue-intro-step的next方法手动触发下一步this.$refs.myIntroStep.next()console.log(tipItem);},prev(tipItem,currentIndex){//调用vue-intro-step的prev方法手动触发上一步this.$refs.myIntroStep.prev()console.log(tipItem,currentIndex);}}}</script>组件参数v-model参数:控制步骤引导组件是否显示
config参数:配置步骤引导组件的参数
backgroundOpacity?参数:步骤引导组件的背景透明度,默认值为0.9,取值范围0-1
titleStyle?参数:步骤引导组件的标题样式
textAlign?参数:标题文字的居中样式,默认值为center,可选值有:left,center,right
fontSize?参数:标题文字的字体大小样式
contentStyle?参数:步骤引导组件的内容样式
textAlign?参数:内容文字的居中样式,默认值为center,可选值有:left,center,right
fontSize?参数:内容文字的字体大小样式
tips参数:用于盛放哪些元素需要引导
el参数:元素的选择器,切记目前只支持id选择器
tipPosition参数:引导元素提示信息的位置,可选值有:top,bottom,left,right
title?参数:引导元素提示信息的标题
content参数:引导元素提示信息的内容
onNext?参数:引导元素提示信息点击下一步按钮时的回调函数,返回一个promise,如果返回的promise成功,则继续下一步,否则不继续下一步
onPrev?参数:引导元素提示信息点击上一步按钮时的回调函数,返回一个promise,如果返回的promise成功,则继续上一步,否则不继续上一步
@close事件参数:关闭步骤引导组件时会触发的事件
原文:https://juejin.cn/post/7101879347157401608