Re: 使用18F4525 的RS 232會出現亂碼的問題
|
||||
---|---|---|---|---|
新會員
|
unsigned char p;
p=a[1]; //確認一下p的值是不是就變亂碼了 TXREG = a[1]; 感謝版大的建議! 我有照上面這樣試,TX輸出還是一樣變成亂碼, 但是我用Sim 的Watch方式看起來值又正常,第一去遇到這麼怪的現象!
發表於: 2009/5/8 13:25
|
|||
|
Re: 使用18F4525 的RS 232會出現亂碼的問題
|
||||
---|---|---|---|---|
資深會員
|
是有點怪, 等其他高手建議吧
另外, 可以測試一下 unsigned char p; p=a[1]; //確認一下p的值是不是就變亂碼了 TXREG = a[1];
發表於: 2009/5/8 12:52
|
|||
|
Re: 使用18F4525 的RS 232會出現亂碼的問題
|
||||
---|---|---|---|---|
新會員
|
剛剛測試了一下,發現到當 矩陣 a[3] 在程式前面先宣告值給她的話,如 用const char a[3]={'a','b','c'}; 時就會TX傳出錯誤其他字元,
而如果在程式內給矩陣a[]值的話,TX就會傳出正確字元 感覺好像是矩陣的值會有誤??
發表於: 2009/5/8 12:04
|
|||
|
Re: 使用18F4525 的RS 232會出現亂碼的問題
|
||||
---|---|---|---|---|
資深會員
|
TXREG = a[1]; // a[1] 是 'b' 不是 'a'
發表於: 2009/5/8 10:41
|
|||
|
使用18F4525 的RS 232會出現亂碼的問題
|
||||
---|---|---|---|---|
新會員
|
請問一下這次在使用18F4525時,用RS232將資料傳到PC上的超級終端機時,會一直產生亂碼的情況.
使用12Mhz的外部震盪器,其設定如下 TXSTAbits.BRGH=1; TXSTAbits.SYNC=0; RCSTAbits.SPEN=1; TXSTAbits.TXEN=1; PIE1bits.TXIE=0; PIR1bits.RCIF=0; PR1bits.RCIP=1; PIE1bits.RCIE=1; BAUDCONbits.BRG16 = 0; RCSTA=0x90; INTCONbits.PEIE=1; SPBRG=77; SPBRGH=0; 我使用這小段程式來傳資料 unsigned char a[3]={'a','b','c'}; k=0; trans=40; while(trans) { while(!TXSTAbits.TRMT) { } TXREG = a[1]; Delay_x_mS(3); trans--; k++; } 發現到終端機顯示出的字型並不是所要的字元 但是如果將TXREG = a[1]; 改成TXREG = 'a'時 就能正常顯示 字元a, 好像無法用矩陣或變數給TXREG?? 我試過許多顆PIC都沒有發生過這問題 請問是哪邊有錯誤嗎 謝謝
發表於: 2009/5/8 10:38
|
|||
|