בעיה עם OSHONsoft pic18f סימולטור

  • Thread starter sathiya.ks@tekbridge.in
  • Start date
S

sathiya.ks@tekbridge.in

Guest
שלום לכולם, כחלק מהפרויקט שלי אני משתמש בממשק עם LCD pic18f2220 16X2. אני כתבתי את קוד asusual ומדומה בMPLAB סימולטור. זה עובד מצוין. אבל, כאשר אני טוען את קובץ HEX בOSHONsoft pic18f סימולטור, זה אומר underflow חמיקת מחסנית ועצירות. כשאני חופר את הקוד ומה שמצאתי היה, הפרמטרים לא עוברים כראוי לפונקציות. אני didnot לבדוק את הקוד בחומרה, אבל מבולבל עם השגיאה הזאת. גם אני טעון את הקוד הקיים לLCD בקומפיילר C18 .. אותה שגיאה. מישהו יכול לעזור ..? כל הצעה תהיה מוערכת ... :-|
 
האם אתה יכול לפרסם את קובץ HEX ואני יכול להפעיל אותו בסימולטור שלי
 
thanx Colbhaidh לתשובה שלך .. im העלאת קובץ hex כמו wel כקובץ c שלי. זה עובד על סימולטור MPLAB אך לא בpic18f הסים. אני לא יכול להעלות קבצים אלו כקבצים מצורפים. אני מ 'הדבקתו בהמשך. שם קובץ: lcd.c MCU: pic18f2220 # # כוללים # כולל להגדיר lcd_line LATB # define en LATCbits.LATC4 # define rs LATCbits.LATC5 # להגדיר הודעה "SATHYA" החלל init_lcd (void); init_ports הריק (void); החלל cmd ( עיכוב הריק (void);; החלל print_letter (נתוני char חתומים); חתום char cmmd) print_str החלל (לא חתום char * str); init_ports הריק (void) {TRISB = 0x00; = 0x00 TRISC; ADCON1bits.PCFG0 = 1; ADCON1bits. PCFG1 = 1; ADCON1bits.PCFG2 = 1; ADCON1bits.PCFG3 = 1;} החלל init_lcd (void) {cmd (0X38); cmd (0X06); cmd (0X0F); cmd (0x01);} החלל cmd (לא חתום char cmmd ) {Rs = 0; lcd_line = cmmd; en = 1; עיכוב (); en = 0;} void print_letter (נתוני char חתומים) {rs = 1; lcd_line = נתונים; en = 1; עיכוב (); en = 0 ;} עיכוב הריק (void) {int i; ל( i = 0;
 
אני טעון את קובץ HEX ופשוט העברתי אותה על סימולטור ONSOFT וזה לא נותן את כל שגיאות. אני משתמש PIC18 סימולטור IDE v2.73. אני אנסה לרוץ עם ONSOFT LCD סימולטור אך עד כה, ללא שגיאות .... [COLOR = "סילבר"] [גודל = 1] ---------- הודעה הוסיפה בשעת 17:28 --- ------- הודעה קודמת הייתה בשעת 16:20 ---------- [/ גודל] [/ צבע] יש בעיה סביב קוד ג: void main () { char msg [10] = הודעה; init_ports (); init_lcd (); print_str (MSG), ואילו (1);} print_str חלל ( לא חתום char * str) {ואילו (* str ! = '\ 0') {print_letter (* str); str = רח 1;}} אני רק תכנית במאסף, לא C, אלא הפירוק של הקוד לעיל הוא שגוי. print_str (MSG); בעיקרי עובר למיקום הזיכרון השגוי msg לשגרת print_str. אתה יכול לשנות את קוד C ל: void main () {msg char החתום [10] = הודעה; init_ports (); init_lcd (); print_str (MSG), ואילו (1);} ולנסות את זה.
 
thnk u Colbhaidh .. ניסיתי פרוג שבמהדרים אחרים .. זה עבד ... אני חושב שזה הנושא מהדר מעל C18 זה לא עובד ... מצטער 4 ד מאוחר תשובה ...
 

Welcome to EDABoard.com

Sponsor

Back
Top