G
GrandAlf
Guest
Έχω ένα μικρό πρόβλημα, το ακόλουθο κώδικα έργα πρόστιμο, αλλά όταν προσπαθώ να κάνω μια λειτουργία από το περιεχόμενο του μπλοκ λειτουργιών, συγκεντρώνει, αλλά δεν θα τρέξει.
Made ένα αρχείο που ονομάζεται CancelCall.C
Προστέθηκε περιεχόμενο του μπλοκ σημειώνονται ΛΕΙΤΟΥΡΓΙΕΣ
Περιλαμβάνονται At898252, Delay και lcd Headers
Made αρχείο CancelCall.H
Προστέθηκε
Extern void CancelCall (void)?
Προστέθηκε CancelCall.h στο κύριο αρχείο.
Καταρτίζει ΟΚ, αλλά δεν θα εκτελεστεί.Ακόμα μάθηση Γ, και έχουν κάνει μάλλον κάτι ηλίθιο.Any help greatly appreciated.
Συγγνώμη για την ανάληψη τόσο το εύρος ζώνης.
=============================================
# include <AT898252.h>
# include <rtx51tny.h>
# include "lcd.h"
# include <stdio.h>
# include "delay.h"
/ / Outputs Bit
sbit οδήγησε = P1 ^ 7?
sbit C1 = P2 ^ 6?
sbit C2 = P2 ^ 5?
sbit C3 = P2 ^ 4?
sbit Sounder = P3 ^ 2?
sbit BusyOp = P3 ^ 3?
Τόνος sbit = P3 ^ 4?
sbit Release = P3 ^ 5?
sbit AudVid = P3 ^ 6?
sbit Strobe = P3 ^ 7?
/ / Είσοδοι Bit Active Low
sbit PTE = P2 ^ 7?
sbit TradeClock = P1 ^ 6?
Privacy sbit = P1 ^ 7?
sbit OpenDoor = P3 ^ 0?
sbit BusyIp = P3 ^ 1?
/ / Variables
unsigned char DialNumber, KeyRead?
unsigned int ActualNumber?
unsigned char Διεύθυνση?
unsigned char Loop?
char buf [8]?
/ ΛΕΙΤΟΥΡΓΙΕΣ
////////////////////////////////////////////////// //////////////////////////////
void CancelCall (void) / / Όλα Επαναφέρει Junction Boxes
(
unsigned char Διεύθυνση?
Strobe = 1?
Διεύθυνση = 0?
Τόνος = 0?
lcd_goto (0)?
lcd_puts ( "ΤΕΛΟΣ-Παρακαλώ Περιμένετε")?
AudVid = 0? BusyOp = 1?
DelayMs (200)?
Strobe = 0? DelayUs (50)? Strobe = 1?
DelayMs (50)?
ενώ (Διεύθυνση <255) (
P0 = Διεύθυνση?
Strobe = 0? DelayUs (50)? Strobe = 1?
DelayMs (20)?
Διεύθυνση ?)
lcd_goto (0)?
lcd_puts ( "Dial Number")?
)
////////////////////////////////////////////////// ////////////////////////////job0 () _task_ 0 (/ / Main εκκίνησης Task
os_create_task (1)? / / Ξεκινά Ticker Συνήθης RTE
lcd_init ()?
DialNumber = 0?
KeyRead = 0?
ActualNumber = 0?
Sounder = 0?
CancelCall ()?
ενώ (1) (
οδήγησε = 0?
DelayMs (200)?
οδήγησε = 1?
DelayMs (200)?
C1 = 0? C2 = 0? C3 = 0?
while ((P2 & 0x0F) == 0x0F) () / / περιμένει Key Τύπου
C1 = 0? C2 = 1? C3 = 1?
KeyRead = (P2 & 0x0F)?
εάν (KeyRead == 14) DialNumber = 1?
εάν (KeyRead == 13) DialNumber = 4?
εάν (KeyRead == 11) DialNumber = 7?
εάν (KeyRead == 7) / / Επαναφορά
(
DialNumber = 0?
KeyRead = 0?
ActualNumber = 0?
C1 = 1? C2 = 1? C3 = 1?
lcd_goto (0)?
lcd_puts ( "Dial Number")?
)
C1 = 1? C2 = 0? C3 = 1?
KeyRead = (P2 & 0x0F)?
εάν (KeyRead == 14) DialNumber = 2?
εάν (KeyRead == 13) DialNumber = 5?
εάν (KeyRead == 11) DialNumber = 8?
εάν (KeyRead == 7) DialNumber = 0?
C1 = 1? C2 = 1? C3 = 0?
KeyRead = (P2 & 0x0F)?
εάν (KeyRead == 14) DialNumber = 3?
εάν (KeyRead == 13) DialNumber = 6?
εάν (KeyRead == 11) DialNumber = 9?
εάν (KeyRead == 7) (/ / πλήκτρο κλήσης για αυτό το κομμάτι είναι λάθος, πρέπει να ακυρώσετε την κλήση δεν
ActualNumber = 0?
DialNumber = 0?
KeyRead = 0?
CancelCall ()?)
ActualNumber = (ActualNumber * 10) DialNumber?
εάν (ActualNumber> 0) (
lcd_clear ()?
lcd_puts ( "Κλήση")?
lcd_goto (0x09)?
sprintf (buf, "% d", ActualNumber)?
lcd_puts (buf)?)
C1 = 0? C2 = 0? C3 = 0?
while ((P2 & 0x0F)! = 0x0F) () / / περιμένει Key Τύπου
os_wait (K_TMO, 5,0)?))
//================================================ =====
/ / Έλεγχοι PTE και ανοίγει την πόρτα Όσπρια Επίσης Ext Watchdog
Εργασία 1 () _task_ 1 (
Loop = 0? Τύπου = 0?
ενώ (1) (
ενώ PTE == (1) (
Sounder = 0? DelayMs (50)? Sounder = 1? DelayMs (50)? Sounder = 0? / / Αλλαγή στο 1 ms
os_wait (K_TMO, 30,0)?)
/ / ανάγκες ήχου δήλωση εδώ, κατά τη γραπτή
ενώ (Loop <20) (
Release = 1?
Sounder = 0? DelayMs (50)? Sounder = 1? DelayMs (50)? Sounder = 0? / / Αλλαγή στο 1 ms
DelayMs (255)?
Loop ?)
Loop = 0? Τύπου = 0?))
//================================================ =====
Made ένα αρχείο που ονομάζεται CancelCall.C
Προστέθηκε περιεχόμενο του μπλοκ σημειώνονται ΛΕΙΤΟΥΡΓΙΕΣ
Περιλαμβάνονται At898252, Delay και lcd Headers
Made αρχείο CancelCall.H
Προστέθηκε
Extern void CancelCall (void)?
Προστέθηκε CancelCall.h στο κύριο αρχείο.
Καταρτίζει ΟΚ, αλλά δεν θα εκτελεστεί.Ακόμα μάθηση Γ, και έχουν κάνει μάλλον κάτι ηλίθιο.Any help greatly appreciated.
Συγγνώμη για την ανάληψη τόσο το εύρος ζώνης.
=============================================
# include <AT898252.h>
# include <rtx51tny.h>
# include "lcd.h"
# include <stdio.h>
# include "delay.h"
/ / Outputs Bit
sbit οδήγησε = P1 ^ 7?
sbit C1 = P2 ^ 6?
sbit C2 = P2 ^ 5?
sbit C3 = P2 ^ 4?
sbit Sounder = P3 ^ 2?
sbit BusyOp = P3 ^ 3?
Τόνος sbit = P3 ^ 4?
sbit Release = P3 ^ 5?
sbit AudVid = P3 ^ 6?
sbit Strobe = P3 ^ 7?
/ / Είσοδοι Bit Active Low
sbit PTE = P2 ^ 7?
sbit TradeClock = P1 ^ 6?
Privacy sbit = P1 ^ 7?
sbit OpenDoor = P3 ^ 0?
sbit BusyIp = P3 ^ 1?
/ / Variables
unsigned char DialNumber, KeyRead?
unsigned int ActualNumber?
unsigned char Διεύθυνση?
unsigned char Loop?
char buf [8]?
/ ΛΕΙΤΟΥΡΓΙΕΣ
////////////////////////////////////////////////// //////////////////////////////
void CancelCall (void) / / Όλα Επαναφέρει Junction Boxes
(
unsigned char Διεύθυνση?
Strobe = 1?
Διεύθυνση = 0?
Τόνος = 0?
lcd_goto (0)?
lcd_puts ( "ΤΕΛΟΣ-Παρακαλώ Περιμένετε")?
AudVid = 0? BusyOp = 1?
DelayMs (200)?
Strobe = 0? DelayUs (50)? Strobe = 1?
DelayMs (50)?
ενώ (Διεύθυνση <255) (
P0 = Διεύθυνση?
Strobe = 0? DelayUs (50)? Strobe = 1?
DelayMs (20)?
Διεύθυνση ?)
lcd_goto (0)?
lcd_puts ( "Dial Number")?
)
////////////////////////////////////////////////// ////////////////////////////job0 () _task_ 0 (/ / Main εκκίνησης Task
os_create_task (1)? / / Ξεκινά Ticker Συνήθης RTE
lcd_init ()?
DialNumber = 0?
KeyRead = 0?
ActualNumber = 0?
Sounder = 0?
CancelCall ()?
ενώ (1) (
οδήγησε = 0?
DelayMs (200)?
οδήγησε = 1?
DelayMs (200)?
C1 = 0? C2 = 0? C3 = 0?
while ((P2 & 0x0F) == 0x0F) () / / περιμένει Key Τύπου
C1 = 0? C2 = 1? C3 = 1?
KeyRead = (P2 & 0x0F)?
εάν (KeyRead == 14) DialNumber = 1?
εάν (KeyRead == 13) DialNumber = 4?
εάν (KeyRead == 11) DialNumber = 7?
εάν (KeyRead == 7) / / Επαναφορά
(
DialNumber = 0?
KeyRead = 0?
ActualNumber = 0?
C1 = 1? C2 = 1? C3 = 1?
lcd_goto (0)?
lcd_puts ( "Dial Number")?
)
C1 = 1? C2 = 0? C3 = 1?
KeyRead = (P2 & 0x0F)?
εάν (KeyRead == 14) DialNumber = 2?
εάν (KeyRead == 13) DialNumber = 5?
εάν (KeyRead == 11) DialNumber = 8?
εάν (KeyRead == 7) DialNumber = 0?
C1 = 1? C2 = 1? C3 = 0?
KeyRead = (P2 & 0x0F)?
εάν (KeyRead == 14) DialNumber = 3?
εάν (KeyRead == 13) DialNumber = 6?
εάν (KeyRead == 11) DialNumber = 9?
εάν (KeyRead == 7) (/ / πλήκτρο κλήσης για αυτό το κομμάτι είναι λάθος, πρέπει να ακυρώσετε την κλήση δεν
ActualNumber = 0?
DialNumber = 0?
KeyRead = 0?
CancelCall ()?)
ActualNumber = (ActualNumber * 10) DialNumber?
εάν (ActualNumber> 0) (
lcd_clear ()?
lcd_puts ( "Κλήση")?
lcd_goto (0x09)?
sprintf (buf, "% d", ActualNumber)?
lcd_puts (buf)?)
C1 = 0? C2 = 0? C3 = 0?
while ((P2 & 0x0F)! = 0x0F) () / / περιμένει Key Τύπου
os_wait (K_TMO, 5,0)?))
//================================================ =====
/ / Έλεγχοι PTE και ανοίγει την πόρτα Όσπρια Επίσης Ext Watchdog
Εργασία 1 () _task_ 1 (
Loop = 0? Τύπου = 0?
ενώ (1) (
ενώ PTE == (1) (
Sounder = 0? DelayMs (50)? Sounder = 1? DelayMs (50)? Sounder = 0? / / Αλλαγή στο 1 ms
os_wait (K_TMO, 30,0)?)
/ / ανάγκες ήχου δήλωση εδώ, κατά τη γραπτή
ενώ (Loop <20) (
Release = 1?
Sounder = 0? DelayMs (50)? Sounder = 1? DelayMs (50)? Sounder = 0? / / Αλλαγή στο 1 ms
DelayMs (255)?
Loop ?)
Loop = 0? Τύπου = 0?))
//================================================ =====