會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





是否可以提供 UART 9600 N81傳輸模式 及 Auto-Baud 檢測的 Sample Code
新會員
註冊日期:
2007/10/29 09:09
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 1 / 100
離線
希望可以提供 UART 9600 N81傳輸模式 及 Auto-Baud 檢測的 Sample Code
用於 PIC18F67K22
感謝

2013/06/18 19:04
轉換PDF檔 列印


Re: 是否可以提供 UART 9600 N81傳輸模式 及 Auto-Baud 檢測的 Sample Code
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15080
等級: 73; EXP: 95
HP : 1094 / 1823
MP : 5026 / 86315
離線

void AutoBaudDetect
()
{
  
// autobaud sync with host subroutine
//
// to use, the host must send at least 3 consecutive "U" characters
//
// returns when baud rate sync is established (otherwise never returns)
  
     
byte discard;
     
int  sync_count;
  
     
// set up async module (may also require pin direction setup for some devices)
     //   these settings work for a 12F1822 chip
     //   at 8 MHz Fosc the autobaud works at rates from 300 to 115.2K
     
RCSTAbits.SPEN = 1;
     
RCSTAbits.CREN = 1;
     
TXSTAbits.TXEN = 1;    // not required for receive only
     
TXSTAbits.BRGH = 1;    // setting depends on which baud rate generator range you want to use
     
BAUDCONbits.BRG16 = 1; // setting depends on which baud rate generator range you want to use
  
AUTOBAUD:
  
     
BAUDCONbits.ABDEN = 1;
     while(!
PIR1bits.RCIF); // waiting for USART incoming byte 'U'
  
     // note that you will not receive a "U" character in RCREG, just garbage that varies with the baud rate used
     
discard = RCREG;       // must read RCREG to clear RCIF
  
     // now, to ensure that the autobaud didn't sync on the wrong thing verify that "U"s are being received correctly
     //   look for 2 more "U"s after initial autobaud "U"
  
     
for (sync_count=0; sync_count < 2; sync_count++)
     {
       while(!
PIR1bits.RCIF); // waiting for USART incoming byte 'U' (for real this time)
       
if(RCREG != 'U') goto AUTOBAUD;
     }
     return
1; // success, now sync'ed with host baud rate
}


AN944: Using the EUSART on the PIC16F688 參考一下

http://www.microchip.com/stellent/idc ... eId=1824&appnote=en020584

2013/06/19 10:25
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project