Hallo, ich habe momentan ein Problem mit dem Renesas Controller M16c28 und hoffe, dass mir wer weiter helfen kann. Ich bin gerade dabei einen Key input interrupt zu implementieren. Aber es funktioniert leider nicht. Ich habe die Port Pins P10_4...P10_7 als Eingänge deklariert, habe im KUPIC Register die Priorität gesetzt und eine entsprechende Interrupt Routine habe ich auch geschrieben. Nur leider löst der Interrupt nicht aus. Am entsprechenden Port wird ein Wechsel von High auf Low erzeugt. Wenn ich im KUPIC Register das Interrupt request bit setzte, springt das Programm direkt in meine Routine, was bedeutet, dass meine Routine gefunden wird. Nur wird kein Interrupt ausgelöst, wenn ich einen Wechsel von high auf low erzeuge...
Hallo Ralph, danke für den Tipp mit dem KI Interrupt, hat dann sofort geklappt :) Kannst du mir vielleicht noch paar Tipps zum I2C Bus geben? Und zwar wie stelle ich den Bus auf 100kHz ein? Bei dem externen 3,68 MHz Quarz, komme ich mit der Rechnung aus dem Datenblatt auf 76kHz. Oder muss ich den onChip-Oscillator verwenden und davon die Frequenz für I2C ableiten? Danke voraus.
Hallo Ralph, habe genau das selbe Problem :(.... Konntest du es schon lösen ?
>>Hallo Ralph, >>habe genau das selbe Problem :(.... >>Konntest du es schon lösen ? wenn er es nach fast 3 Jahren noch nicht gelöst hat, dann schafft er es jetzt auch nicht mehr :-) Beste Grüße Rudi
Mich würde die LÖsung aber auch mal interessieren, denn bei mir ist genau das Selbe... Ich habe eine key_ISR geschrieben und vom StarterKit den Port, welcher auf den Taster geht als Eingang deklariert,. Dort liegt ein High Signal an, solange der Taster nicht betätigt wird. Die Priorität ist auch gesetzt... Wenn ich den Taster betätige (PortPin: High --> Low) dann passiert nichts. Wenn ich manuell das IR_kupic auf 1 setze, dann springt er in die Routine ... Ich frage mich einfach was noch fehlt! Gruß
Es ist zwar schon lange her und ich habe auch keine Hardware mehr, um es testen zu können, aber ich habe hier noch Code von einem Test... Bin mir auch nicht sicher was davon zu KI gehört, da bei dem Test auch der AD Wandler getestet wurde...
1 | int main() |
2 | {
|
3 | ...
|
4 | /* Port 10 Pins 5,4,3 as Input*/
|
5 | PD10 = 0xC7; |
6 | __disable_interrupt(); |
7 | /* set the IFSR20 Bit */
|
8 | IFSR2A |= 0x01; |
9 | /* enable the KI interrupt / set the level */
|
10 | DMA0IC = 0x02; |
11 | __enable_interrupt(); |
12 | ...
|
13 | while(1){ |
14 | /* necessary to access some ports */
|
15 | PRCR = 0x04; |
16 | PACR = 0x02; |
17 | ...
|
18 | }
|
19 | }
|
Hallo, weiss leider nicht was mit pacr gemeint ist, finde ich in der m32c define liste auch nicht gruß
habe in meiner .typ Datei das hier stehen: /* Pin assignment control register */ #define PACR (0x25d)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.