المرجو مساعدتي في حل مشكلتي مع pic16F877 , قمت باستعماله لاستقبال الداتا من الحاسوب عن طريق rs232 (علما انني نجحت في كتابة كود خاص في ارسال الداتا من البيك الى الحاسوب عن طريق rs232 وقمت بتجربته, كل شئ جيد) , استعملت visual basic لارسل الداتا من الحاسوب الى البيك "Mscomm.output = "F .
مشكلتي مع البيت RCIF , نعلم ان هذا البيت ياخذ قيمة 1 عندما يكون RCREG ممتلئ يعنى ان RCREG قد استقبل الداتا المرسلة الى البيك بنجاح ,قيمة RCIF تكون 0 مادام RCRG فارغ اي البيك لم يستقبل الداتا.
مشكلتي و هي ان RCIF ياخذ قيمة 1 تلقائيا بدون ان ارسل الداتا و كذلك رغم انني احاول ارسال الداتا, البيك لا يستقبل شئ.
ملاحظة : - لا يوجد مشكلة بالهارديرفقد جربت كل عنصربالدارة, لا يوجد مشكلة و عملية الارسال من البيك الى الحاسوب تمت بنجاح.
الكود المستعمل في استقبال الداتا من الحاسوب :
movlw d'129'
movwf SPBRG
movlw b'0010010'
movwf TXSTA
bank0
movlw b'10010000'
movwf RCSTA
RecLoop
nop
btfss PIR1,RCIF
goto RecLoop
movf RCREG,w
return
استعمل هذا الكود داخل main
can you help me please