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