[問題] c# RS232 控制8051上的燈
我是想用C# serialPort 去控制8051上的LED,但傳出去都沒反應
求解!
C#程式
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 4800;
serialPort1.Open();
byte[] xx = new byte[]{0x30} ;
serialPort1.Write(xx, 0, 1);
}
}
8051端程式
#include <reg51.h> // 包含reg51.h檔
#define LED P1 // 定義LED位置
#define DIPSW P0 // 定義指撥開關位置
//============ 函數 ==========
void delay1ms(int); // 宣告延遲函數
unsigned char inst=0; // 宣告變數
//======= 主程式 ========
main() // 主程式開始
{ LED=DIPSW=0xFF; // 關閉LED,設定DIPSW為輸入埠
EA=ES=1; // 啟用串列埠中斷
SCON=0x50; // 設定為mode 1
TMOD |= 0x20; // 設定採mode 2
PCON |= 0x80; // 將SMOD設定為1
TH1=TL1=0xF3; // 4800bps (12MHz)
TR1=1; // 啟動Timer 1
SBUF=DIPSW; // 傳出指撥開關狀態
while(1)
{ switch (inst)
{ case 0:
{ LED=0xFF;
break; }
case 0x30:
{ LED=0;
break; }
}
}
}
//============ 傳送字元函數 ==========
void Serial_INT(void) interrupt 4
{ if (TI)
{ TI=0; // 清除TI旗標
SBUF = DIPSW; // 再傳出指撥開關狀態
}
if(RI)
{ RI=0; // 清除RI旗標
inst = SBUF; // 接收命令
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.44.65
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1411380524.A.E0D.html
推
09/22 19:09, , 1F
09/22 19:09, 1F
→
09/22 19:10, , 2F
09/22 19:10, 2F
→
09/22 19:12, , 3F
09/22 19:12, 3F
→
09/22 19:15, , 4F
09/22 19:15, 4F
→
09/22 19:16, , 5F
09/22 19:16, 5F
→
09/22 19:17, , 6F
09/22 19:17, 6F
→
09/22 19:18, , 7F
09/22 19:18, 7F
推
09/22 19:30, , 8F
09/22 19:30, 8F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章