तस्वीर स्मृति में डेटा प्रसारण के लिए विधा&#2

C

ceibawx

Guest
कौन मदद कर सकता हूँ मुझे यह जांच?
मैं तस्वीर में डेटा संग्रहीत है, लेकिन उत्पादन सही नहीं है.TransData:
0xBF MOVLW
MOVWF FSR; को रैम
0x08 MOVLW
MOVWF ChannelCounter; = 4 ChannelCounter * 2

GoOnTransData:
सीमा सुरक्षा बल स्थिति, 5
MOVF INDF, डब्ल्यू
bcf स्थिति, 5
MOVWF TXREG; डेटा स्थानांतरित करने रजिस्टर संचारित
सीमा सुरक्षा बल स्थिति, 5
, 1 INCF FSR; INDF संख्या का पता चलता है अगले
DECFSZ ChannelCounter, 1; ChannelCounter-1
गोटो GoOnTransData; सीसी! = 0.
गोटो ReProcess; सीसी = 0.tx खत्म, एक नया rx शुरू करते हैं.

 
मुझे लगता है कि तुम्हारी समस्या यह है कि तुम TXREG overwriting रहे हैं.आप TXIF झंडा परीक्षण की आवश्यकता को देखते जब TXREG खाली है चींटी तो नए बाइट लोड.
एक संभव तय करने के लिए नीचे देखें.मुझे लगता है UART सेटअप सही ढंग से किया है, कि TXEN सा है स्थापित किया गया था.कि TXIF कर देगा.सुनिश्चित करें कि आप सीमा सुरक्षा बल का प्रयोग सेट TXEN, बल्कि रजिस्टर को लिखने से.तुम बस GoOnTransData पहले अनुदेश जोड़ने के लिए, यदि यह पहले नहीं किया था कर सकते हैं.

वैसे, जब से तुम FSR प्रयोग कर रहे हैं, आप को स्थापित और RP0 थोड़ा स्पष्ट जरूरत नहीं है, FSR 0 से बैंकों में सही आंकड़े और = 0 IRP से 1 का उपयोग कर सकता है, RP0, 1 की स्थिति की परवाह किए बिना .

कोड:TransData:

0xBF MOVLW

MOVWF FSR; को रैम

0x08 MOVLW

MOVWF ChannelCounter; = 4 ChannelCounter * 2दर्जा बीएसएफ, RP0; 1 बैंक

सीमा सुरक्षा बल, TXEN TXSTA; xmit सक्षम

दर्जा bcf, Rp0; 0 फिर से बैंकGoOnTransData:

btfss PIR1, TXIF; की जांच अगर हम नए बाइट भेज सकते हैं

गोटो GoOnTransData, डब्ल्यू MOVF INDF; बाइट मिल

MOVWF TXREG; डेटा स्थानांतरित करने रजिस्टर संचारित

, 1 INCF FSR; INDF संख्या का पता चलता है अगले

DECFSZ ChannelCounter, 1; ChannelCounter-1

गोटो GoOnTransData; सीसी! = 0.

गोटो ReProcess; सीसी = 0.tx खत्म, एक नया rx शुरू करते हैं.
 
आपके उत्तर के लिए धन्यवाद.
मेरा प्रश्न यह है कि इसका मतलब क्या है?

= 1 TXIF जब, बफर खाली है, यह होगा ---------------------
, डब्ल्यू MOVF INDF; बाइट मिल
MOVWF TXREG; डेटा स्थानांतरित करने रजिस्टर संचारित
= 0 TXIF जब, बफर भरा हुआ है, यह होगा ------------------------
GoOnTransData:
btfss PIR1, TXIF; की जांच अगर हम नए बाइट भेज सकते हैं
गोटो GoOnTransData.

आप अधिक विस्तार के बारे में बफर संचारित व्याख्या कर सकते हैं?अगर यह अभी भी भरा हुआ है, हमें इसके लिए इंतजार करना होगा जब तक यह खाली है?

 
हाँ, यह मतलब है बफर संचारित खाली है और आप इसे एक नया बाइट लिख सकता है.अगर आप इसे होने से पहले ही खाली है, तो अपने लिखने और उपेक्षा आपको अक्षर खो जाएगी है.

सेटिंग TXEN TXIF सेट करेंगे, कोड alowing को पहले चरित्र आप भेजने के लिए चला रहे हैं.बाद में, आप के लिए पिछले चरित्र संचरण के लिए इंतजार करना पूरा करना है.जैसे ही आप TXREG को लिखने के जल्दी ही, TXIF साफ हो जाएगा, इसलिए यदि आप इस बिट आप TXREG को एक नया बाइट लिखने में सक्षम नहीं होगा जब तक यह खाली है जाँच करेगा.

अधिक जानकारी के लिए, अनुलग्नक पढ़ें
क्षमा करें, लेकिन आप में प्रवेश करने की जरूरत है इस संलग्नक देखें

 
बहुत बहुत धन्यवाद.
और मैं परीक्षण किया है, और अपने कोड उपयोगी है, और मैं उम्मीद डेटा प्राप्त किया.

आप शक्तिशाली हैं.
शुभ दिन.Xing

 

Welcome to EDABoard.com

Sponsor

Back
Top