|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
小雞捉老鷹 |
| 作者:大漠孤煙 欄目:單片機 |
各位大俠,請幫小弟看看以下程序,為何不能實現(xiàn)SLAVE-TRANSMITION。仰仗諸位啦! PIC 程序 void main() { // unsigned int x; // unsigned CHAR ninebits = 0; // x=sys_initial(9600,ninebits); STATUS = 0X00; PIE1 = 0X00; PIR1 = 0X00; PIR2 = 0X00; WTXD_DIR = 1; WRXD_DIR = 1; TRISB = 0X00; FL = 1; FL_DIR = 0; KL_DIR = 0X00; KL0 = 1; SPBRG = 25; TXSTA = 0X24; RCSTA = 0X90; SCL_DIR = 1; SDA_DIR = 1; SCL_HIGH(); SDA_HIGH(); SSPADD = PIC_ADD; SSPSTAT = 0X00; SSPCON = 0X36; PIE1 = 0X28; PIR1 = 0X00; PIR2 = 0X00; INTCON = 0XC0; TXEN_LOW(); WLCS_LOW(); PWUP_HIGH(); i2c_Buf_Flag = 0; i2c_Tra_Flag = 0; usart_Buf_Flag = 0; usart_Tra_Flag = 0; while(1) { FL = !FL; DelayUs(255); DelayUs(255); if (i2c_Buf_Flag) { if (usart_Transmit(I2c_Ram)) { usart_Tra_Flag = 1; i2c_Buf_Flag = 0; TXREG = 0X99; while (!TRMT); //Transmit_Run_Flag(U_T_F); } else usart_Tra_Flag = 0; } } } PIC 中斷程序 static interrupt void Pic_Interrupt(void) { unsigned CHAR address; KL0 = ! KL0; TXREG = SSPSTAT; // SSPSTAT 監(jiān)視各個寄存器的值 while (!TRMT); TXREG = SSPADD; // SSPADD while (!TRMT); TXREG = SSPCON; // SSPCON while (!TRMT); TXREG = PIR1; // PIR1 while(!TRMT); TXREG = SSPBUF; // SSPBUF while (!TRMT); if (SSPIF == 1) { SSPIE = 0; if (!STAT_DA) address = SSPBUF; &nb |
| 2樓: | >>參與討論 |
| 作者: 大漠孤煙 于 2003/10/17 14:08:00 發(fā)布:
真這么難嗎?!。。。。。。。! |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |