Prezentace 21, arduino auto.
This commit is contained in:
+169
@@ -0,0 +1,169 @@
|
||||
|
||||
#include <Servo.h>
|
||||
#include <Servo.h>
|
||||
Servo myservo;
|
||||
int Echo_Pin=A0; // ultrasonic module ECHO to A0
|
||||
int Trig_Pin=A1; // ultrasonic module TRIG to A1
|
||||
#define Lpwm_pin 5 //pin of controlling speed---- ENA of motor driver board
|
||||
#define Rpwm_pin 6 //pin of controlling speed---- ENB of motor driver board
|
||||
int pinLB=2; //pin of controlling turning---- IN1 of motor driver board
|
||||
int pinLF=4; //pin of controlling turning---- IN2 of motor driver board
|
||||
int pinRB=7; //pin of controlling turning---- IN3 of motor driver board
|
||||
int pinRF=8; //pin of controlling turning---- IN4 of motor driver board
|
||||
volatile int D_mix;
|
||||
volatile int D_mid;
|
||||
volatile int D_max;
|
||||
volatile int Front_Distance;
|
||||
volatile int Left_Distance;
|
||||
volatile int Right_Distance;
|
||||
volatile int Right_IR_Value;
|
||||
volatile int Left_IR_Value;
|
||||
|
||||
float checkdistance() {
|
||||
digitalWrite(Trig_Pin, LOW);
|
||||
delayMicroseconds(2);
|
||||
digitalWrite(Trig_Pin, HIGH);
|
||||
delayMicroseconds(10);
|
||||
digitalWrite(Trig_Pin, LOW);
|
||||
float distance = pulseIn(Echo_Pin, HIGH) / 58.00;
|
||||
delay(10);
|
||||
return distance;
|
||||
}
|
||||
|
||||
void Detect_Left_and_Right__distance() {
|
||||
myservo.write(180);
|
||||
delay(400);
|
||||
Left_Distance = checkdistance();
|
||||
delay(600);
|
||||
Serial.print("Left_Distance:");
|
||||
Serial.println(Left_Distance);
|
||||
myservo.write(0);
|
||||
delay(400);
|
||||
Right_Distance = checkdistance();
|
||||
delay(600);
|
||||
Serial.print("Right_Distance:");
|
||||
Serial.println(Right_Distance);
|
||||
myservo.write(90);
|
||||
}
|
||||
|
||||
void Ultrasonic_obstacle_avoidance()
|
||||
{
|
||||
Front_Distance=checkdistance(); //obtain the value detected by ultrasonic sensor
|
||||
if((Front_Distance < 20)&&(Front_Distance > 0))//if the distance is greater than 0 and less than 20
|
||||
{
|
||||
stopp();//stop
|
||||
delay(100);
|
||||
myservo.write(180);
|
||||
delay(500);
|
||||
Left_Distance=checkdistance();//measure the distance
|
||||
delay(100);
|
||||
myservo.write(0);
|
||||
delay(500);
|
||||
Right_Distance=checkdistance();//measure the distance
|
||||
delay(100);
|
||||
if(Left_Distance > Right_Distance)//if distance a1 is greater than a2
|
||||
{
|
||||
rotate_left(150);//turn left
|
||||
myservo.write(90);
|
||||
delay(300);
|
||||
}
|
||||
else //if the right distance is greater than the left
|
||||
{
|
||||
rotate_right(150);// turn right
|
||||
myservo.write(90);
|
||||
delay(300);
|
||||
}
|
||||
}
|
||||
else//otherwise
|
||||
{
|
||||
go_forward(100);//go forward
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void Obstacle_Avoidance_Main()
|
||||
{
|
||||
Ultrasonic_obstacle_avoidance();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void setup(){
|
||||
myservo.attach(A2);
|
||||
Serial.begin(9600);
|
||||
D_mix = 10;
|
||||
D_mid = 20;
|
||||
D_max = 100;
|
||||
Front_Distance = 0;
|
||||
Left_Distance = 0;
|
||||
Right_Distance = 0;
|
||||
myservo.write(90);
|
||||
pinMode(Echo_Pin, INPUT);
|
||||
pinMode(Trig_Pin, OUTPUT);
|
||||
pinMode(pinLB,OUTPUT); // /pin 2
|
||||
pinMode(pinLF,OUTPUT); // pin 4
|
||||
pinMode(pinRB,OUTPUT); // pin 7
|
||||
pinMode(pinRF,OUTPUT); // pin 8
|
||||
pinMode(Lpwm_pin,OUTPUT); // pin 5 (PWM)
|
||||
pinMode(Rpwm_pin,OUTPUT); // pin 6(PWM)
|
||||
}
|
||||
|
||||
void loop(){
|
||||
Obstacle_Avoidance_Main();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void go_forward(unsigned char speed_val) // speed_val:0~255
|
||||
{digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,LOW);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,LOW);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void go_backward(unsigned char speed_val) // speed_val:0~255
|
||||
{
|
||||
digitalWrite(pinRB,LOW);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,LOW);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
}
|
||||
|
||||
void rotate_left(unsigned char speed_val) // speed_val:0~255
|
||||
{digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,LOW );
|
||||
digitalWrite(pinLB,LOW);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
|
||||
}
|
||||
void rotate_right(unsigned char speed_val) // speed_val:0~255
|
||||
{
|
||||
digitalWrite(pinRB,LOW);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,LOW);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
}
|
||||
void stopp() //stop
|
||||
{
|
||||
digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
#include <Servo.h>
|
||||
|
||||
Servo myservo; // create servo object to control a servo
|
||||
// twelve servo objects can be created on most boards
|
||||
|
||||
int pos = 0; // variable to store the servo position
|
||||
|
||||
void setup() {
|
||||
myservo.attach(A2); // attaches the servo on pin 9 to the servo object
|
||||
}
|
||||
|
||||
void loop() {
|
||||
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
|
||||
// in steps of 1 degree
|
||||
myservo.write(pos); // tell servo to go to position in variable 'pos'
|
||||
delay(15); // waits 15ms for the servo to reach the position
|
||||
}
|
||||
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
|
||||
myservo.write(pos); // tell servo to go to position in variable 'pos'
|
||||
delay(15); // waits 15ms for the servo to reach the position
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
|
||||
#define TRIG_PIN A1
|
||||
#define ECHO_PIN A0
|
||||
int Ult_distance=0;
|
||||
|
||||
float checkdistance() {
|
||||
digitalWrite(TRIG_PIN, LOW);
|
||||
delayMicroseconds(2);
|
||||
digitalWrite(TRIG_PIN, HIGH);
|
||||
delayMicroseconds(10);
|
||||
digitalWrite(TRIG_PIN, LOW);
|
||||
float distance = pulseIn(ECHO_PIN, HIGH) / 58.00;
|
||||
delay(10);
|
||||
return distance;
|
||||
}
|
||||
|
||||
void setup(){
|
||||
Serial.begin(9600);
|
||||
pinMode(TRIG_PIN, OUTPUT);
|
||||
pinMode(ECHO_PIN, INPUT);
|
||||
}
|
||||
void loop(){
|
||||
Ult_distance = checkdistance();
|
||||
Serial.print("Distance:");
|
||||
Serial.print(Ult_distance);
|
||||
Serial.println("CM");
|
||||
delay(100);
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
#include <IRremote.h>
|
||||
int RECV_PIN = 12;
|
||||
IRrecv irrecv(RECV_PIN);
|
||||
decode_results results;
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
irrecv.enableIRIn(); // Start the receiver
|
||||
}
|
||||
void loop() {
|
||||
if (irrecv.decode(&results)) {
|
||||
Serial.println(results.value, HEX);
|
||||
irrecv.resume(); // Receive the next value
|
||||
}
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
|
||||
#define Lpwm_pin 5 //pin of controlling speed---- ENA of motor driver board
|
||||
#define Rpwm_pin 6 //pin of controlling speed---- ENB of motor driver board
|
||||
int pinLB=2; //pin of controlling turning---- IN1 of motor driver board
|
||||
int pinLF=4; //pin of controlling turning---- IN2 of motor driver board
|
||||
int pinRB=7; //pin of controlling turning---- IN3 of motor driver board
|
||||
int pinRF=8; //pin of controlling turning---- IN4 of motor driver board
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(pinLB,OUTPUT); // /pin 2
|
||||
pinMode(pinLF,OUTPUT); // pin 4
|
||||
pinMode(pinRB,OUTPUT); // pin 7
|
||||
pinMode(pinRF,OUTPUT); // pin 8
|
||||
pinMode(Lpwm_pin,OUTPUT); // pin 5 (PWM)
|
||||
pinMode(Rpwm_pin,OUTPUT); // pin 6(PWM)
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{go_forward(100);
|
||||
delay(2000);
|
||||
go_backward(100);
|
||||
delay(2000);
|
||||
rotate_left(150);
|
||||
delay(2000);
|
||||
rotate_right(150);
|
||||
delay(2000);
|
||||
stopp();
|
||||
delay(2000);
|
||||
}
|
||||
|
||||
|
||||
void go_forward(unsigned char speed_val) // speed_val:0~255
|
||||
{digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,LOW);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,LOW);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void go_backward(unsigned char speed_val) // speed_val:0~255
|
||||
{
|
||||
digitalWrite(pinRB,LOW);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,LOW);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
}
|
||||
|
||||
void rotate_left(unsigned char speed_val) // speed_val:0~255
|
||||
{digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,LOW );
|
||||
digitalWrite(pinLB,LOW);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
|
||||
}
|
||||
void rotate_right(unsigned char speed_val) // speed_val:0~255
|
||||
{
|
||||
digitalWrite(pinRB,LOW);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,LOW);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
}
|
||||
void stopp() //stop
|
||||
{
|
||||
digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
}
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
#include <IRremote.h>
|
||||
int RECV_PIN = 12;
|
||||
IRrecv irrecv(RECV_PIN);
|
||||
decode_results results;
|
||||
#define IR_Go 0x00ff629d
|
||||
#define IR_Back 0x00ffa857
|
||||
#define IR_Left 0x00ff22dd
|
||||
#define IR_Right 0x00ffc23d
|
||||
#define IR_Stop 0x00ff02fd
|
||||
#define IR_ESC 0x00ff52ad
|
||||
#define Lpwm_pin 5 //adjusting speed
|
||||
#define Rpwm_pin 6 //adjusting speed //
|
||||
int pinLB=2; // defining pin2 left rear
|
||||
int pinLF=4; // defining pin4 left front
|
||||
int pinRB=7; // defining pin7 right rear
|
||||
int pinRF=8; // defining pin8 right front
|
||||
|
||||
void go_forward(unsigned char speed_val) // speed_val:0~255
|
||||
{digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,LOW);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,LOW);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void go_backward(unsigned char speed_val) // speed_val:0~255
|
||||
{
|
||||
digitalWrite(pinRB,LOW);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,LOW);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
}
|
||||
|
||||
void rotate_left(unsigned char speed_val) // speed_val:0~255
|
||||
{digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,LOW );
|
||||
digitalWrite(pinLB,LOW);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
|
||||
}
|
||||
void rotate_right(unsigned char speed_val) // speed_val:0~255
|
||||
{
|
||||
digitalWrite(pinRB,LOW);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,LOW);
|
||||
analogWrite(Lpwm_pin,speed_val);
|
||||
analogWrite(Rpwm_pin,speed_val);
|
||||
|
||||
}
|
||||
void stopp() //stop
|
||||
{
|
||||
digitalWrite(pinRB,HIGH);
|
||||
digitalWrite(pinRF,HIGH);
|
||||
digitalWrite(pinLB,HIGH);
|
||||
digitalWrite(pinLF,HIGH);
|
||||
}
|
||||
|
||||
void IR_Control(void)
|
||||
{
|
||||
unsigned long Key;
|
||||
if(irrecv.decode(&results)) //judging if serial port receives data
|
||||
{
|
||||
Key = results.value;
|
||||
switch(Key)
|
||||
{
|
||||
case IR_Go:go_forward(150); //UP
|
||||
break;
|
||||
case IR_Back:go_backward(150); //back
|
||||
break;
|
||||
case IR_Left:rotate_left(100); //Left
|
||||
break;
|
||||
case IR_Right:rotate_right(100); //Righ
|
||||
break;
|
||||
case IR_Stop:stopp(); //stop
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
irrecv.resume(); // Receive the next value
|
||||
}
|
||||
|
||||
}
|
||||
void setup()
|
||||
{
|
||||
pinMode(pinLB,OUTPUT); // pin2
|
||||
pinMode(pinLF,OUTPUT); // pin4
|
||||
pinMode(pinRB,OUTPUT); // pin7
|
||||
pinMode(pinRF,OUTPUT); // pin8
|
||||
pinMode(Lpwm_pin,OUTPUT); // pin5 (PWM)
|
||||
pinMode(Rpwm_pin,OUTPUT); // pin6 (PWM)
|
||||
irrecv.enableIRIn(); // Start the receiver
|
||||
Serial.begin(9600); //initializing serial port, Bluetooth used as serial port, setting baud ratio at 9600
|
||||
stopp();
|
||||
}
|
||||
void loop()
|
||||
{
|
||||
|
||||
IR_Control();
|
||||
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,213 @@
|
||||
; CH341SER.INF
|
||||
; Driver for CH341 (USB=>SERIAL chip) V3.1
|
||||
; WDM&VXD for Windows 98/Me/2000/XP/Server2003/Vista/64bit Vista/Server2008/Win7/64bit Win7
|
||||
; Copyright (C) W.ch 2001-2009
|
||||
;
|
||||
|
||||
[Version]
|
||||
Signature = "$Chicago$"
|
||||
Class = Ports
|
||||
ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318}
|
||||
Provider = %WinChipHead%
|
||||
DriverVer = 06/03/2009, 3.1.2009.06
|
||||
CatalogFile = CH341SER.CAT
|
||||
|
||||
[ControlFlags]
|
||||
ExcludeFromSelect = USB\VID_1A86&PID_7523
|
||||
ExcludeFromSelect = USB\VID_1A86&PID_5523
|
||||
ExcludeFromSelect = USB\VID_4348&PID_5523
|
||||
ExcludeFromSelect = USB\VID_4348&PID_5523&REV_0250
|
||||
ExcludeFromSelect = USBSERPORT\SER5523
|
||||
ExcludeFromSelect = CH341PORT\SER5523
|
||||
|
||||
[Manufacturer]
|
||||
%WinChipHead% = WinChipHead,NT,NTamd64,NTia64
|
||||
|
||||
[WinChipHead]
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install, USB\VID_1A86&PID_7523
|
||||
%CH341ASER.DeviceDesc% = CH341SER_Install, USB\VID_1A86&PID_5523
|
||||
%CH341SER.DeviceDesc% = CH341SER_Install, USB\VID_4348&PID_5523
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install, USB\VID_4348&PID_5523&REV_0250
|
||||
%CH341S98.DeviceDesc% = CH341S98_Install, USBSERPORT\SER5523
|
||||
%CH341S98.DeviceDesc% = CH341S98_Install, CH341PORT\SER5523
|
||||
|
||||
[WinChipHead.NT]
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_1A86&PID_7523
|
||||
%CH341ASER.DeviceDesc% = CH341SER_Install.NT, USB\VID_1A86&PID_5523
|
||||
%CH341SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_4348&PID_5523
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_4348&PID_5523&REV_0250
|
||||
|
||||
[WinChipHead.NTamd64]
|
||||
%CH340SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_1A86&PID_7523
|
||||
%CH341ASER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_1A86&PID_5523
|
||||
%CH341SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_4348&PID_5523
|
||||
%CH340SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_4348&PID_5523&REV_0250
|
||||
|
||||
[WinChipHead.NTia64]
|
||||
%CH340SER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_1A86&PID_7523
|
||||
%CH341ASER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_1A86&PID_5523
|
||||
%CH341SER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_4348&PID_5523
|
||||
%CH340SER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_4348&PID_5523&REV_0250
|
||||
|
||||
[CH341SER_Install]
|
||||
DelFiles = CH341S98.DelFiles.SYS
|
||||
CopyFiles = CH341SER.CopyFiles.SYS, CH341SER.CopyFiles.DLL
|
||||
AddReg = CH341SER.9X.AddReg, CH341SER.AddReg
|
||||
|
||||
[CH341SER_Install.NT]
|
||||
CopyFiles = CH341SER.NT.CopyFiles.SYS, CH341SER.CopyFiles.DLL
|
||||
AddReg = CH341SER.NT.AddReg, CH341SER.AddReg
|
||||
|
||||
[CH341SER_Install.NT.HW]
|
||||
AddReg = CH341SER.NT.HW.AddReg
|
||||
|
||||
[CH341SER_Inst.NTamd64]
|
||||
CopyFiles = CH341SER.NT.CopyFiles.SYSA64
|
||||
AddReg = CH341SER.NT.AddReg, CH341SER.AddReg
|
||||
|
||||
[CH341SER_Inst.NTamd64.HW]
|
||||
AddReg = CH341SER.NT.HW.AddReg
|
||||
|
||||
[CH341SER_Inst.NTia64]
|
||||
CopyFiles = CH341SER.NT.CopyFiles.SYSI64
|
||||
AddReg = CH341SER.NT.AddReg, CH341SER.AddReg
|
||||
|
||||
[CH341SER_Inst.NTia64.HW]
|
||||
AddReg = CH341SER.NT.HW.AddReg
|
||||
|
||||
[CH341S98_Install]
|
||||
DelFiles = CH341S98.DelFiles.SYS
|
||||
CopyFiles = CH341S98.CopyFiles.VXD, CH341SER.CopyFiles.SYS
|
||||
AddReg = CH341S98.9X.AddReg, CH341S98.AddReg
|
||||
|
||||
;[CH341S98_Install.NT]
|
||||
|
||||
[CH341S98.DelFiles.SYS]
|
||||
CH341S98.SYS, , , 1
|
||||
|
||||
[CH341SER.CopyFiles.SYS]
|
||||
CH341S98.SYS, , , 2
|
||||
|
||||
[CH341SER.NT.CopyFiles.SYS]
|
||||
CH341SER.SYS, , , 2
|
||||
|
||||
[CH341SER.NT.CopyFiles.SYSA64]
|
||||
CH341S64.SYS, , , 2
|
||||
|
||||
[CH341SER.NT.CopyFiles.SYSI64]
|
||||
;CH341I64.SYS, , , 2
|
||||
|
||||
[CH341S98.CopyFiles.VXD]
|
||||
CH341SER.VXD, , , 2
|
||||
|
||||
[CH341SER.CopyFiles.DLL]
|
||||
CH341PT.DLL, , , 2
|
||||
;安装DLL是可选的,DLL可以用于识别CH341端口和监视CH341端口的插拔事件
|
||||
|
||||
[CH341SER.9X.AddReg]
|
||||
HKR, , DevLoader, , *NTKERN
|
||||
HKR, , NTMPDriver, , CH341S98.SYS
|
||||
|
||||
[CH341SER.NT.AddReg]
|
||||
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
|
||||
|
||||
[CH341SER.NT.HW.AddReg]
|
||||
HKR,,"UpperFilters",0x00010000,"serenum"
|
||||
;上面这行用于枚举接在串口的即插即用设备,启动时将产生DTR和RTS信号,如果需要枚举,请将上面这行的分号去掉
|
||||
|
||||
[CH341S98.9X.AddReg]
|
||||
HKR, , DevLoader, , *vcomm
|
||||
HKR, , PortDriver, , CH341SER.VXD
|
||||
HKR, , Contention, , *vcd
|
||||
HKR, , ConfigDialog, , serialui.dll
|
||||
HKR, , DCB, 3, 1C,00,00,00, 80,25,00,00, 11,00,00,00, 00,00,0A,00, 0A,00,08,00, 00,11,13,00, 00,00,00,00
|
||||
HKR, , PortSubClass, 1, 01
|
||||
HKR, , EnumPropPages, , "serialui.dll,EnumPropPages"
|
||||
HKR, , Enumerator, , serenum.vxd
|
||||
;上面这行用于枚举接在串口的即插即用设备,启动时将产生DTR和RTS信号,如果需要枚举,请将上面这行的分号去掉
|
||||
|
||||
[CH341SER.AddReg]
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341SER, WDM, 0x00010001, 0x00000031
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341PORT, DLL, 0x00010001, 0x00000010
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341SER, Function, , "USB=>Serial"
|
||||
;HKLM, SYSTEM\CurrentControlSet\Services\CH341SER, UserRemoval, 0x00010001, 0x00000001
|
||||
;上面这行用于在系统托盘中显示“安全删除USB转SERIAL硬件设备”,便于用户手工删除硬件
|
||||
|
||||
[CH341S98.AddReg]
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341SER, VXD, 0x00010001, 0x00000023
|
||||
|
||||
[CH341SER_Install.NT.Services]
|
||||
AddService = CH341SER, 2, CH341SER.Service
|
||||
AddService = Serenum, , Serenum_Service_Inst
|
||||
|
||||
[CH341SER_Inst.NTamd64.Services]
|
||||
AddService = CH341SER_A64, 2, CH341SER.ServiceA64
|
||||
AddService = Serenum, , Serenum_Service_Inst
|
||||
|
||||
[CH341SER_Inst.NTia64.Services]
|
||||
AddService = CH341SER_I64, 2, CH341SER.ServiceI64
|
||||
AddService = Serenum, , Serenum_Service_Inst
|
||||
|
||||
[CH341SER.Service]
|
||||
DisplayName = "CH341SER"
|
||||
ServiceType = 1
|
||||
StartType = 3
|
||||
ErrorControl = 1
|
||||
ServiceBinary = %10%\System32\Drivers\CH341SER.SYS
|
||||
|
||||
[CH341SER.ServiceA64]
|
||||
DisplayName = "CH341SER_A64"
|
||||
ServiceType = 1
|
||||
StartType = 3
|
||||
ErrorControl = 1
|
||||
ServiceBinary = %10%\System32\Drivers\CH341S64.SYS
|
||||
|
||||
[CH341SER.ServiceI64]
|
||||
DisplayName = "CH341SER_I64"
|
||||
ServiceType = 1
|
||||
StartType = 3
|
||||
ErrorControl = 1
|
||||
ServiceBinary = %10%\System32\Drivers\CH341I64.SYS
|
||||
|
||||
[Serenum_Service_Inst]
|
||||
DisplayName = "SerEnum"
|
||||
ServiceType = 1
|
||||
StartType = 3
|
||||
ErrorControl = 1
|
||||
ServiceBinary = %12%\serenum.sys
|
||||
LoadOrderGroup = PNP Filter
|
||||
|
||||
[DestinationDirs]
|
||||
DefaultDestDir = 10, System32\Drivers
|
||||
CH341S98.DelFiles.SYS = 11
|
||||
CH341SER.CopyFiles.SYS = 10, System32\Drivers
|
||||
CH341SER.NT.CopyFiles.SYS = 10, System32\Drivers
|
||||
CH341S98.CopyFiles.VXD = 11
|
||||
CH341SER.CopyFiles.DLL = 11
|
||||
CH341SER.NT.CopyFiles.SYSA64 = 10, System32\Drivers
|
||||
;CH341SER.NT.CopyFiles.SYSI64 = 10, System32\Drivers
|
||||
|
||||
[SourceDisksFiles]
|
||||
CH341SER.SYS = 1
|
||||
CH341S98.SYS = 1
|
||||
CH341SER.VXD = 1
|
||||
CH341PT.DLL = 1
|
||||
CH341S64.SYS = 1
|
||||
;CH341I64.SYS = 1
|
||||
|
||||
[SourceDisksNames]
|
||||
1 = %DISK_NAME%, , ,
|
||||
|
||||
[SourceDisksNames.amd64]
|
||||
1 = %DISK_NAME%, , ,
|
||||
|
||||
[SourceDisksNames.ia64]
|
||||
1 = %DISK_NAME%, , ,
|
||||
|
||||
[Strings]
|
||||
WinChipHead = "wch.cn"
|
||||
CH341SER.DeviceDesc = "USB-SERIAL CH341"
|
||||
CH341S98.DeviceDesc = "USB-SERIAL CH341"
|
||||
CH340SER.DeviceDesc = "USB-SERIAL CH340"
|
||||
CH341ASER.DeviceDesc = "USB-SERIAL CH341A"
|
||||
DISK_NAME = "CH341 Serial Installation Disk"
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user