Port D bit BME on KE04

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Port D bit BME on KE04

Jump to solution
732 Views
jun1
Contributor V

Hi.

Always thank you for your help.

Please tell me below.

I am using KE04.

See `` How to Use Bit-band and BME on the KE04 and KE06 Subfamilies AN4838 ''
An attempt was made to set bit 2,1,0 of port D to 0 using a macro in BME.h.

As described in “3.5 BME Library” in the above application manual

     BME_AND (& GPIOD-> PDOR) = ~ ((1u << 2) | (1u << 1) | (1u << 0));

However, there is no GPIOD definition.

According to the manual, the upper 8 bits of the 32-bit area indicated by the GPIOA address are assigned to port D.

So how do you write the bit set clear for port D in the BME library?

Thank you.

jun

Labels (1)
0 Kudos
Reply
1 Solution
596 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi jun,

yes, there isn't GPIOD. If you want to set and clear PTD0, PTD1, PTD2, you can write as below

        BME_OR(&GPIOA->PDOR) = (0x07<<24);
        BME_AND(&GPIOA->PDOR)= ~(0x07<<24);

Regards,

Jing

View solution in original post

2 Replies
596 Views
jun1
Contributor V

Hi.

I am always grateful for your help.

Oh, yes. That's because it is placed in the upper bits.

well understood.

jun

0 Kudos
Reply
597 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi jun,

yes, there isn't GPIOD. If you want to set and clear PTD0, PTD1, PTD2, you can write as below

        BME_OR(&GPIOA->PDOR) = (0x07<<24);
        BME_AND(&GPIOA->PDOR)= ~(0x07<<24);

Regards,

Jing