Discussion in "Project Help" started by    ronotsig    May 27, 2019.
Mon May 27 2019, 08:36 am
#1
I am trying to using P89LPC921 or P89LPC922 in a project. I cannot get the KBI function to work. It appears that I an unable to write KBPATN, KBMask, and KBCon. They only have default values. If I load the same small test program in the P89LPC925 it works flawlessly.
Does anyone with experience with the P89LPC92x processors successfully used the KBI function?
Mon May 27 2019, 11:53 pm
#2
I can't see any reason that those registers would be "Read only".
Are you sure you are using the correct header files ?

Which compiler are you using ?

Please zip and post your test code.


[ Edited Tue May 28 2019, 05:46 am ]
Wed May 29 2019, 08:43 pm
#3
Since the code works for the P89LPC925, it is apparent that the registers are write/read. However it appears that the registers cannot be written in the 920/921.
Thank you for your response.

I have enclosed a schematic and my code. This is the circuitry for a speed sensor. A change of the port pin (hall effect sensor input) triggers an ISR to capture the time between pulses and compute rpm. The complete program works fine with a P89LPC925 but does not work in the P89LPC920 or P89LPC921. I would like to use the latter and you have 15000+ pieces in stock, but I have to get it to work. I only have one of the 920 and a few of the 921.

The date code of the 920 is “Yn6607B”.
The date code of the 921’s is “Yn6624B”

I do not have an emulator. The program is in assembly. (I have coded extensively in assembly for 40+ years.) I reduced the program functionality to an absolute minimum. No ISR for the Port0 pin. At its simplest it does the following:
- Read in ID.
- Write B0 of ID to NLEDRX.
- Write ID to KBPATN or KBMASK.
- Read KBPATN or KBMASK into ACC.
- Write B0 of ACC to NLEDTX.

The code runs fine on the 925 but not on the 920 or 921. The values read back from KBPATN and KBMASK are the initial values from RESET.

Do you know anyone who has? Do you have a contact who was an FAE with NXP or something.

I am in dire straights. I tested the program using the 925 part. Then for production run of 3000 units, I substituted the 921 part. Then I found out that the KBI function is not working in the 921 part (and also it does not work in the 920 part).

NXP does not care since they have discontinued the part. It is very frustrating. There must still be very knowledgeable people who would know of this problem and/or how it can be worked around. After all, how can you have a functionality in the datasheet and user manual that does not work. And especially since the 925 part is built on the same core with just additional peripherals.

Thanking you in advance.

Thu May 30 2019, 02:35 am
#4
I would suggest a fresh approach.

The Keil compiler supports the P89LPC921,
so I would write a new mini test program in 'c'.

The Keil compiler is free for code under 2k.





[ Edited Thu May 30 2019, 09:50 am ]
Fri May 31 2019, 02:02 am
#5
It occurs to me that although the P89LPC921 and P89LPC925
are very similar, they are not the same.
Perhaps a careful look at the differences will give you the answer.

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Bobbyerilar
Thu Mar 28 2024, 08:08 am
pb58
Thu Mar 28 2024, 05:54 am
Clarazkafup
Thu Mar 28 2024, 02:24 am
Walterkic
Thu Mar 28 2024, 01:19 am
Davidusawn
Wed Mar 27 2024, 08:30 pm
Richardsop
Tue Mar 26 2024, 10:33 pm
Stevencog
Tue Mar 26 2024, 04:26 pm
Bernardwarge
Tue Mar 26 2024, 11:15 am