CMPS03 mit HC12, wie soll ich das machen???

Hallo Ich bin eine neue Persona an dieses Forum. I Ich bin ein student aus Polen. Ich arbeite jetzt mit HC12A64 und probiere ein Komunikation zu anknupfen zwischen HC12 und CMPS03. Ich habe in so es geschrieben aber das geht nicht.

void initI2c(void) { IBFD=0x14; IBCR_IBIE=1; IBCR_IBIE=1; IBCR_IBSWAI=0; }

void initRT(void) { CRGINT=1

Reply to
foxik
Loading thread data ...

Hallo foxik,

snipped-for-privacy@plusnet.pl schrieb: > Ich bin eine neue Persona an dieses Forum.

Das ist eine Newsgroup, kein Forum. :)

Ich kenne mich leider nicht mit dem HC12 bzw. dessen Peripherie aus. Also kann ich keine genauen Aussagen zu den Kontroll und Statusregister-Werten machen. Dennoch fallen mir einige Dinge an deinem Code auf.

- Mit Kommentaren ist der Code sicher besser zu verstehen.

- Du darfst keine Warteschleifen (hier: Busy-Wait) in einer ISR schreiben. Das kann zum Ueberlaufen des Stacks fuehren, wenn die ISR erneut aufgerufen wird und die letze ISR noch nicht abgearbeitet ist.

- weitere Anmerkungen -> siehe Kommentare

#define false !(true) #define true 1

U08 allow_comp_read = false; U08 polozenie = 0;

void main(void) { initI2C(); initRT();

for(;;) { // idle loop if (allow_comp_read == true) { read_compass(); allow_comp_read = false; } } }

void initI2C(void) { IBFD=0x14; IBCR_IBIE=1; IBCR_IBIE=1; // ??? warum wird IBIE zweimal beschrieben? IBCR_IBSWAI=0; }

void initRT(void) { CRGINT=1

Reply to
Tobyas Hennig

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.