電腦傳值經RS232給 AT89C51 |
答題得分者是:阿信
|
7722
一般會員 發表:1 回覆:0 積分:0 註冊:2009-08-25 發送簡訊給我 |
#include <reg52.h>
int buf[16]; int flag; int endflag; char i=0; void init_232(); void receive(); void send(); main() { init_232(); while(1) { receive(); send(); } } void init_232() { TMOD=0x20; TH1=0xff; SCON=0x50; TR1=1; } void receive() { while(RI==1) { RI=0; buf[i]=SBUF; if (buf[i]==0x0a ) { i=0; endflag==1 TI=1; } i ; } } void send() { while(endflag==1) { if (TI==1) { TI=0; SBUF=buf[i]; if(buf[i]==0x0a) { endflag=0; i=0; } i ; } } } 小弟是剛學單晶片的新手 之前是用VB結果突然要使用C 所以K了一下單晶片的書一開始的回傳 "HELLO"測試後沒問題 之後不斷的改改寫寫不知道為什麼51回傳電腦是亂碼 因為需要我是用SDCC編譯的寫到最後編譯一直出現格式錯誤 所以不知道改了多少次了 我電腦要傳送 AA BB CC 4D ....... 51把值存到陣列也回傳 AA BB CC 4D . 請各位前輩指點迷津 或給點提示 編輯記錄
7722 重新編輯於 2009-08-25 15:17:26, 註解 無‧
|
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |