sscanf question

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

sscanf question

跳至解决方案
1,776 次查看
asier
Contributor III

Hi,

I'm working with LPC804 and MCUXpresso IDE.

I'm trying to do work sscanf but no way.

My example is the following:

char buff[] = "12";
int i;
sscanf(buff,"%d",&i);

if (i == 12){
GPIO_PinWrite(BOARD_INITPINS_BLOQ_GPIO,BOARD_INITPINS_BLOQ_PORT,BOARD_INITPINS_BLOQ_PIN, 1);
}

Any idea what is wrong? 

Thanks,

Asier.

1 解答
1,508 次查看
asier
Contributor III

Hi HangZhang,

My problem was that I was doing uint16_t i; instead int i;.

I don't know why but when using uint16_t i; sscanf stucks.

Thank you for your time,

BR

Asier.

在原帖中查看解决方案

4 回复数
1,751 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @asier 

When you use this pin, please initialize the configuration for this pin.

 

Hope this will help you.

BR

Hang

0 项奖励
回复
1,580 次查看
asier
Contributor III

Hi HangZhang,

The pin is correctly initialized and it works fine.

The issue is not with "GPIO_PinWrite" instruction, but with "sscanf".

"i" does not get 12 value after executing "sscanf(buff,"%d",&i);" code line.

What is wrong when using sscanf in our example?

Thank you,

Asier.

0 项奖励
回复
1,562 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @asier 

I refer to your code, i can get 12 value after executing "sscanf(buff,"%d",&i);" code line.

HangZhang_0-1724726855044.png

I share my code with you.

BR

Hang

0 项奖励
回复
1,509 次查看
asier
Contributor III

Hi HangZhang,

My problem was that I was doing uint16_t i; instead int i;.

I don't know why but when using uint16_t i; sscanf stucks.

Thank you for your time,

BR

Asier.