作者huangwow10 (哈哈哈哈!!!)
看板ASM
標題[問題] 測試程式的問題
時間Fri Jan 20 11:06:18 2012
#include <reg51.h>
sbit SMOD = 0x87^7;
main()
{ P2=0xff;
TMOD=0x20;
SMOD=0; /*將SMOD設定為0*/
TH1=0xfd; /*鮑率設定為9600bps */
TR1=1; /*啟動Timer 1*/
SCON=0x50; /*設定為mode 0*/
while(1) /* while迴圈開始*/
{ SBUF=P2; /*將指撥開關狀態,放入SBUF*/
while (RI==0); /*檢查是否完成接收?*/
RI=0; /*RI=1時(接收完成),清除RI旗標*/
P0=SBUF; /*將所接收的資料輸出到Port 0*/
TI=0; /*清除TI旗標*/
} /* while迴圈結束*/
} /* 主程式結束 */
功能是:燒到2個51並測試RX TX的輸入能操控這2個51的PORT
這個程式是我用Keil uVision4-C寫的,我是照書上打的程式碼,可是,編譯時就會不過
錯誤訊息是
rxtx.c(3): error C142: 'SFR': invalid base address
rxtx.c(9): error C202: 'SMOD': undefined identifier
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.2.161
1F:推 ruemann:sbit SMOD = 0x87^7; 這行有問題 01/20 20:42
2F:→ huangwow10:不要意思大大剛學不久...請問該如何修改? 01/20 20:56
3F:→ ruemann:SFR PCON = 0x87; 01/20 21:06
4F:→ ruemann:sbit SMOD = PCON^7; 01/20 21:07
5F:推 ruemann:等一下,PCON好像不支援BIT ACCRESS,所以你不能這樣用吧 01/20 21:09
6F:→ ruemann:請用 PCON &= 0x7F;清除smod,用 PCON |= 0x80; 設定smod 01/20 21:10