मैं भेजने के लिए/सी # के माध्यम से एक स्ट्रिंग प्राप्त करते हैं, सी # में कोशिश कर रहा हूँ मैं सिर्फ कार्य करें:serialport और सीसीएस स्ट्रिंग संचार
SerialPort.WriteLine("A6");
लेकिन सीसीएस में, अगर मैं चार के बाद एक स्ट्रिंग चार भेजने की कोशिश यह नहीं है बिल्कुल काम करें, न तो रीडलाइन के साथ और न ही ReadExisting के साथ! यही वह है जिसे मैंने एक सरणी बनाने की कोशिश की है, ताकि जब भी हम आरएक्सबीयूएफएफ प्रज्ञा में प्रवेश करेंगे, हम सरणी को प्राप्त होने तक सरणी में प्राप्त char जोड़ते हैं (मैंने यादृच्छिक रूप से सरणी आकार को 2 होने के लिए परिभाषित किया है, जिसका अर्थ है कि हम 2 से निपटते हैं सी # में
#pragma vector = USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
if(__even_in_range(UCA1IV,18) == 0x02){ // Vector 2 - RXIFG
if(counter==0)
{
Data[0]=UCA1RXBUF;
counter++;
}
else
{
Data[1]=UCA1RXBUF;
counter=0;
UCA1TXBUF=Data[0];
while(!(UCA1IFG & UCTXIFG)); // until UCTXBUF1 is empty
UCA1TXBUF=Data[1];
}
}
: -char-लंबाई तार), और अंततः चार के बाद चार भेजकर स्ट्रिंग भेज
listBox2.Items.Add(SerialPort.ReadExisting());
मैं प्राप्त गैर भावना पाठ, जैसे: ?? एक ??? कभी-कभी: ???? ए? आदि .., लेकिन साथ:
listBox2.Items.Add(SerialPort.ReadLine());
पहली बार मैं भेजें बटन जो "ए 6" भेजता प्रेस में
, मैं कुछ भी नहीं मिलता है, दूसरी बार मैं अच्छी तरह से गैर भावना मिलता है, बस ReadExisting व्यवहार की तरह।
वैसे, भले ही मैं (सरणी और शर्तों के बिना) सबसे आसान तरीका में स्ट्रिंग भेजने का प्रयास करें, मैं इस तरह मतलब है:
#pragma vector = USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
UCA1TXBUF='A';
while(!(UCA1IFG & UCTXIFG)); // until UCTXBUF1 is empty
UCA1TXBUF='6';
मैं भी लिस्टबॉक्स में असंगत आइटम मिलता है।
हालांकि, अगर मैं ऐसा करते हैं:
#pragma vector = USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
UCA1TXBUF=UCA1RXBUF;
मैं "ए 6" लिस्टबॉक्स में मिलता है और सब कुछ ठीक काम (ReadLine और ReadExisting के साथ)! क्या कोई मुझे बता सकता है कि यह क्यों हो रहा है?
http://electronics.stackexchange.com/questions/71810/uart-is-garbled-when-running-at-more-than-9600-bps –
क्या आपने पुष्टि की है कि बाउड दर, और अन्य गुणों का मिलान किया गया है ऊपर? –
हां! अगर गुणों का मिलान नहीं हुआ था, तो मुझे लगता है कि अंतिम प्रयास काम नहीं करेगा, लेकिन यह काम करता है। क्या तुम मुझसे सहमत नहीं हो? –