We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
P89C669 user manual page 71 indicate I2CON (91h) is bit addressable.! How can declare to compiler? My custom header file for P89C669 ; sfr I2CON = 0x91; sbit I2EN = I2CON^6; sbit STA = I2CON^5; sbit STO = I2CON^4; sbit SI = I2CON^3; sbit AA = I2CON^2; sbit CRSEL = I2CON^0; When compiled REG669.H(246): error A17: INVALID BASE IN BIT ADDRESS EXPRESSION
"P89C669 user manual page 71 indicate I2CON (91h) is bit addressable.!" (my emphasis) Yes - it's true! The User Manual (not the Data Sheet) does indeed state that on p71!! http://www.semiconductors.philips.com/acrobat/usermanuals/UM_P89C669_2.pdf However, the User Manual also states, on p17, "Sixteen addresses in the SFR space are both byte- and bit-addressable. The bit-addressable SFRs are those whose address ends in 0h or 8h (i.e. 80h, 88h,..., F8h). Bit addressing allows direct control and testing of bits in those SFRs." and Figure 8 on that page identifies the 15 (C0h is not used) bit-addressable SFRs - they do not include I2CON. The table on p39 gives the bit addresses where SFRs are bit addressable - I2CON has no bit addresses. On p14 of the Data Sheet, table 5 identifies bit addressable SFRs with note [1] and the legend "Bit Address" and the bit address values in blue - I2CON has no Note [1] and no bit addresses. http://www.semiconductors.philips.com/acrobat/datasheets/P89C669-01.pdf So, in conclusion, it looks like an error in just that one reference on p71 of the User Manual!