问题描述
当我向右或向左滚动此轨迹栏时,该值应从零变为最大值。值 (255) 并且在向右滚动时,输出端的 LED 应该比轨迹栏值更亮。
但是这个轨迹栏的工作原理就像开关。在trackbar是127之前,led是关闭的,在那之后,led突然亮了。 您认为问题出在哪里?
c# 代码
{
public partial class Form1 : Form
{
SerialPort serialport;
public Form1()
{
InitializeComponent();
serialport = new SerialPort();
serialport.Baudrate = 9600;
}
private void Form1_Load(object sender,EventArgs e)
{
textBox1.Text = "COM3";
}
private void button1_Click(object sender,EventArgs e)
{
timer1.Start();
try
{
serialport.PortName = textBox1.Text;
if (!serialport.IsOpen)
serialport.open();
MessageBox.Show("connected");
}
catch
{
MessageBox.Show("error!");
}
}
private void timer1_Tick(object sender,EventArgs e)
{
try
{
string ledval = trackBar1.Value.ToString();
textBox2.Text = ledval;
serialport.WriteLine(ledval);
serialport.WriteLine(",");
}
catch (Exception ex) { }
}
private void button2_Click(object sender,EventArgs e)
{
timer1.Stop();
serialport.Close();
}
}}
arduino 代码
int led = 13;
String x;
int val;
void setup(){
Serial.begin(9600);
pinMode(led,OUTPUT);
}
void loop(){
if(Serial.available()>0)
{
x=Serial.readStringUntil(',');
val=x.toInt();
analogWrite(led,val);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)