Hi, Does anyone has ever see the XC161CJ ASC1 working on the KEIl debug window? I can not "printf" nothing! here is changed HELLO: P3 |= 0x0401; /* SET PORT 3.10 OUTPUT LATCH (TXD) */ DP3 |= 0x0401; /* SET PORT 3.10 DIRECTION CONTROL (TXD OUTPUT) */ DP3 &= 0xF7FD; /* RESET PORT 3.11 DIRECTION CONTROL (RXD INPUT) */ ASC1_TIC = 0x80; /* SET TRANSMIT INTERRUPT FLAG */ ASC1_RIC = 0x00; /* DELETE RECEIVE INTERRUPT FLAG */ ASC1_BG = 0x40; /* SET BAUDRATE TO 9600 BAUD @ 20MHz */ ASC1_CON = 0x8011; /* SET SERIAL MODE */ ALTSEL0P3 |= 0x0C01; /* Configure port pins for serial interface 1 */ printf ("Hello World\n");while(1); and the putchar: while (!( ASC1_TIC == (ASC1_TIC | 0x80)) ); ASC1_TIC &= ~0x80; return (ASC1_TBUF = c); Any comments will be welcomed of course. Thanks, joao
Hi Joao, I do a test and you are right. It seems the library was created with different code, since I see in disassembly window ASC0_TIR instead ASC0_TIC_IR. I had create a own file and translate as object and than link it as I told you, the routine is called, but with same result: Blocking in the while-Loop waiting for the flag. As workaround you may debug with aterminal program ? This works as you think with a direct write to ASC1_TBUF. For simulator I can not solve it at the moment. Sorry ! I am back next week. If you have time or solution I will look back for my or your solution. Stefan Otherwise can you directly ask the support, why the disassemblys are different ? May be we can get the code of the printf/putchar for Xc16x devices to rebuild the library.
Hi Joao, sorry that my answer come now and not early. I was on biz trip. OK - I do contact support directly and was right with thinking about different sources. Now I got a new code and additionally we hav e to use an simulator *.ini file. I do a test NOW. Than I'll lock back at the site and if you was here please take your e-mail here than I will send the original code from KEIL . And we will solve this Stefan (I worte directly a terminal program and with this it's working).
Hi Joao, I tested the support file and it works!! So you can now use the ASC1 interface with simulator/debugger. At this time it is only tested for simulator - but that is not a problem since you can use a terminal program for test under hardware conditions, as we discussed. If you let your mail here - I send you the code and you can adapt as you need. Stefan
Hi Joao, it is solved now by KEIL's support. For a more detailed explanation have a look at: http://www.keil.com/support/docs/2602.htm and http://www.keil.com/support/docs/2601.htm where the first document answers this problem in general and second one is related to use ASc1 directly in µVision2 simulator/debugger. At this way "many thanks to HS from the KEIL support team for a very excellent well done job" Stefan