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