1 Wire STM32

Michal Grunt michal.grunt na vynet.cz
Úterý Červenec 23 12:06:03 CEST 2013


Takze jsem v globalnim nastaveni (init 1wire) nastavil:

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

GPIO_StructInit (&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, &GPIO_InitStructure);

Ale stejne musim mit funkce in a out kde budu pin prepinat bud aby se choval jako vstup nebo vystup...

void ow_pin_in(void)
{
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;


void ow_pin_out(void)
{
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
}

uint8_t ow_reset(void)
{
	uint8_t out;

	ow_pin_out();							
	GPIO_ResetBits(GPIOA, GPIO_Pin_3);	
	delay_us(600);
	GPIO_SetBits(GPIOA, GPIO_Pin_3);
	ow_pin_in();							
	delay_us(150);
	out = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_3);	
	ow_pin_out();
	delay_us(400);
	return out;
}


-----Original Message-----
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jan Waclawek
Sent: Tuesday, July 23, 2013 11:55 AM
To: HW-news
Subject: RE: 1 Wire STM32

Aha uz chapem ako ste to mysleli.

Nie, nie je dovod menit ten rezim. Nastavte ho na zaciatku na OUT, OD, pullup a uz s tym nastavenim nehybte. To je vsetko.

wek


----- Original Message ---------------
>Ted tomu nerozumim. Ja ho (podle toho jak jsem GPIO pochopil) inicializuji jednou v te globalni definici a pak v tech funkcích jenom upravuji zda se ma chovat jako vstup nebo jako vystup. Nebo je to cele spatne? GPIO_Init bych mel pouzit jenom v globalni definici? Myslel jsem, ze ho musim pouzit pokazde když v GPIO_InitStructure nìco zmenim. 


Další informace o konferenci Hw-list