Das kann dann doch nur bedeuten, daß ein anderer Interrupt ausgelöst wird... Vielleicht der SIG_UART_UCDRE bze SIG_UART_DATA?
Prog mal den, wie er genau heisst siehst du im header, ich vermute mal SIG_UART_DATA.
Also wenn sei(); weggelassen wird, dann sind ja interrupts deaktiviert.
Dann kommt der Start-String nur einmal. auch wenn ich sende, da leuchtet dann "USART RECEIVE COMPLETE" auf.
Also im Datenblatt steht zu den Interrupts nicht so der HIT drinn...
keine Hinweise darauf oder so... nur generelle sachen. aber das kanns doch nicht sein !?!?
WO IST DER WURM?![]()
Gruß,
Franz
Das kann dann doch nur bedeuten, daß ein anderer Interrupt ausgelöst wird... Vielleicht der SIG_UART_UCDRE bze SIG_UART_DATA?
Prog mal den, wie er genau heisst siehst du im header, ich vermute mal SIG_UART_DATA.
Disclaimer: none. Sue me.
Ja, aber RXEN is noch da, und deshalb received er.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ist ja auch ok. Aber wenn er nen Restart macht, dann doch nur, weil irgend ein Interrupt nicht bedient wird. Und das muss doch ein SIG_UART_xxx sein.
Disclaimer: none. Sue me.
Hallo
Die Int Recive Routine heißt
und nichtCode:SIGNAL(SIG_UART_RECV)
Von daher dein NeustartCode:SIGNAL( SIG_USART_RECV )
MFG
Dieter
Das hab ich in der iom8535.h gefunden:
Code:/* Interrupt vectors */ #define SIG_INTERRUPT0 _VECTOR(1) #define SIG_INTERRUPT1 _VECTOR(2) #define SIG_OUTPUT_COMPARE2 _VECTOR(3) #define SIG_OVERFLOW2 _VECTOR(4) #define SIG_INPUT_CAPTURE1 _VECTOR(5) #define SIG_OUTPUT_COMPARE1A _VECTOR(6) #define SIG_OUTPUT_COMPARE1B _VECTOR(7) #define SIG_OVERFLOW1 _VECTOR(8) #define SIG_OVERFLOW0 _VECTOR(9) #define SIG_SPI _VECTOR(10) #define SIG_UART_RECV _VECTOR(11) #define SIG_UART_DATA _VECTOR(12) #define SIG_UART_TRANS _VECTOR(13) #define SIG_ADC _VECTOR(14) #define SIG_EEPROM_READY _VECTOR(15) #define SIG_COMPARATOR _VECTOR(16) #define SIG_2WIRE_SERIAL _VECTOR(17) #define SIG_INTERRUPT2 _VECTOR(18) #define SIG_OUTPUT_COMPARE0 _VECTOR(19) #define SIG_SPM_READY _VECTOR(20) #define _VECTORS_SIZE 42 /* The Register Bit names are represented by their bit number (0-7). */ /* General Interrupt Control Register */ #define INT1 7 #define INT0 6 #define INT2 5 #define IVSEL 1 #define IVCE 0 /* General Interrupt Flag Register */ #define INTF1 7 #define INTF0 6 #define INTF2 5 /* Timer/Counter Interrupt MaSK register */ #define OCIE2 7 #define TOIE2 6 #define TICIE1 5 #define OCIE1A 4 #define OCIE1B 3 #define TOIE1 2 #define OCIE0 1 #define TOIE0 0 /* Timer/Counter Interrupt Flag register */ #define OCF2 7 #define TOV2 6 #define ICF1 5 #define OCF1A 4 #define OCF1B 3 #define TOV1 2 #define OCF0 1 #define TOV0 0
#define SIG_UART_RECV _VECTOR(11)
#define SIG_UART_DATA _VECTOR(12)
#define SIG_UART_TRANS _VECTOR(13)
Im Datenblatt:
Addresslable:
0B = 11 ; USART_RXC ( USART RX COMPLETE Handler )
0C = 12 ; USART_UDRE ( UDR Empty Handler )
0D = 13 ; USART_TXC ( USART TX COMPLETE Handler )
Gruß,
Franz
Was glaubst was ich jetzt gemacht habe?Zitat von PicNick
Gruß,
Franz
Nun. Dann sollte der Fehler aber verschwinden, wenn ALLE Interrupts belegt wären. Das könnt er ja versuchen (mit cut & paste & edit aus der h-file, damit keiner vergessen wird)
Schlechter kann's ja nicht werden
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Bin ich erleichtert..
Ich danke euch vielmals für eure Hilfe...
Jetzt muss ich ersmal relaxen
Vielen Dank!
Gruß,
Franz
*ARGL*
*Tischkante-beiss*
Disclaimer: none. Sue me.
Lesezeichen