English
Language : 

H8S2218 Datasheet, PDF (116/750 Pages) Renesas Technology Corp – 16-Bit Single-Chip Microcomputer H8S Family/H8S/2200 Series
Section 2 CPU
I/O
P1DDR
Read value
P17
Output
1
1
P16
Output
1
1
P15
Output
1
1
P14
Output
1
1
P13
Input
0
1
P12
Input
0
0
P11
Input
0
0
P10
Input
0
0
The BCLR instruction performs bit manipulation on the read value, which is H'F8 in this example.
It clears bit 4 to 0.
I/O
P1DDR
After bit
manipulation
P17
Output
1
1
P16
Output
1
1
P15
Output
1
1
P14
Output
1
0
P13
Input
0
1
P12
Input
0
0
P11
Input
0
0
P10
Input
0
0
Following bit manipulation the data is written to P1DDR and the BCLR instruction terminates.
I/O
P1DDR
Write value
P17
Output
1
1
P16
Output
1
1
P15
Output
1
1
P14
Input
0
0
P13
Output
1
1
P12
Input
0
0
P11
Input
0
0
P10
Input
0
0
The contents of P1DDR should have been overwritten with a value of H'E0, but in fact a value of
H'E8 was written to the register. This changed pin 13, which should have been an input pin, to an
output pin. In this example we assumed that the value of bit 1 in P1DDR was 1. However, since
the values of bits 7 to 0 in P1DDR are all undefined when read, there is the possibility that
individual bit values could be changed from 0 to 1 or from 1 to 0. To prevent this from happening,
the recommendations in section 2.9.4, Accessing Registers Containing Write-Only Bits, should be
followed when changing the values of registers containing write-only bits.
In addition, the BCLR instruction can be used to clear flags in internal I/O registers to 0. In such
cases it is not necessary to read the relevant flag beforehand so long as it is clear that it has been
set to 1 by an interrupt processing routine or the like.
2.9.4 Accessing Registers Containing Write-Only Bits
Using data transfer instructions or bit manipulation instructions on registers containing write-only
bits can result in undefined values being read. To prevent the reading of undefined values, the
procedure described below should be used to access registers containing write-only bits.
Rev.6.00 Jun. 03, 2008 Page 68 of 698
REJ09B0074-0600