Re: 電腦端傳送資料給dspic
|
||||
---|---|---|---|---|
版主
|
gersUART 裡的 Length 是只接收該字串最大長度的設定,超過此長度即使未收到 Null Byte 以會跳出函數的。
int *Buffer 是指標形態,你可以宣告一著陣列後再將陣列名稱傳給他。 不過ㄧ般 UART建議是使用中斷來收資料,這樣程式會比較有彈性。 getsUART( ) 很容易就將程式卡死,
發表於: 2008/8/27 15:41
|
|||
|
Re: 電腦端傳送資料給dspic
|
||||
---|---|---|---|---|
新會員
|
感謝回答
請問getsUART()中他始使用方式是 getsUART1(int length,int *buffer, int uart_data_wait) 其中length 為字串長度,buffer為暫存位址,uart_data_wait 為等待時間 想請問buffer的位置要如何得知,我是用測試版
發表於: 2008/8/26 9:31
|
|||
|
電腦端傳送資料給dspic
|
||||
---|---|---|---|---|
新會員
|
請問pic接收電腦傳來的字串,在pic端分解字串要用哪個指令?
先前我用過ReadUART1(),但只接收到第一個字元。 在書本上有看到getsUART1(),想請問要怎麼使用。 --------------------------------------------------------- void readstring(void) { char cmd,k; cmd=0; k=0; while(cmd!='*') cmd=ReadUART1(); CommandBuffer[k]=cmd; while( (cmd=ReadUART1()) !='@'&& k <= 30)CommandBuffer[++k]=cmd; CommandBuffer[k+1]='@'; CommandBuffer[k+2]='\0'; } ---------------------------------------------------------------- 以上是我用來分解字串的程式,但無法解讀整個字串。只讀取到第一個字元,想請問解決的方法。
發表於: 2008/8/25 17:29
|
|||
|