<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=23823&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-06-19T19:09:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23823&amp;mode</id>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2021-06-19T19:09:10+01:00</updated>
<published>2021-06-19T19:09:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23823&amp;p=232769#p232769</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23823&amp;p=232769#p232769"/>
<title type="html"><![CDATA[Re: RTC MCP7940N konfiguracja startowa układu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23823&amp;p=232769#p232769"><![CDATA[
Problem  rozwiązany. Za szybko wywoływałem funkcje ustawiające powyższe bity (funkcje wywoływane były jako pierwsze)<br />Wstawiłem opóźnienie 2 sekundy przed nimi i już nie ma problemu. <br /><br />było:<br />[syntax=c]int main(void)<br />{<br />  /* USER CODE BEGIN 1 */<br /><br />  /* USER CODE END 1 */<br /><br />  /* MCU Configuration--------------------------------------------------------*/<br /><br />  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */<br />  HAL_Init();<br /><br />  /* USER CODE BEGIN Init */<br /><br />  /* USER CODE END Init */<br /><br />  /* Configure the system clock */<br />  SystemClock_Config();<br /><br />  /* USER CODE BEGIN SysInit */<br /><br />  /* USER CODE END SysInit */<br /><br />  /* Initialize all configured peripherals */<br />  MX_GPIO_Init();<br />  MX_I2C1_Init();<br />  MX_USART2_UART_Init();<br />  MX_USB_DEVICE_Init();<br /><br />  /* Initialize interrupts */<br />  MX_NVIC_Init();<br />  /* USER CODE BEGIN 2 */<br /><br /><br />  /* USER CODE END 2 */<br /><br />  /* Infinite loop */<br />  /* USER CODE BEGIN WHILE */<br />//<br /><br /><br /><br />konf_vbatt();             //funkcja ustawiająca zasilanie z baterii<br />konf_extosc();           //funkcja ustawiająca bit oscylatora zewnętrznego[/syntax]<br /><br /><br /><br />a teraz jest:<br /><br />[syntax=c]int main(void)<br />{<br />  /* USER CODE BEGIN 1 */<br /><br />  /* USER CODE END 1 */<br /><br />  /* MCU Configuration--------------------------------------------------------*/<br /><br />  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */<br />  HAL_Init();<br /><br />  /* USER CODE BEGIN Init */<br /><br />  /* USER CODE END Init */<br /><br />  /* Configure the system clock */<br />  SystemClock_Config();<br /><br />  /* USER CODE BEGIN SysInit */<br /><br />  /* USER CODE END SysInit */<br /><br />  /* Initialize all configured peripherals */<br />  MX_GPIO_Init();<br />  MX_I2C1_Init();<br />  MX_USART2_UART_Init();<br />  MX_USB_DEVICE_Init();<br /><br />  /* Initialize interrupts */<br />  MX_NVIC_Init();<br />  /* USER CODE BEGIN 2 */<br /><br /><br />  /* USER CODE END 2 */<br /><br />  /* Infinite loop */<br />  /* USER CODE BEGIN WHILE */<br />//<br /><br /><br />HAL_Delay(2000);<br />konf_vbatt();<br />konf_extosc();[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 19 cze 2021, o 19:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2021-06-19T12:51:13+01:00</updated>
<published>2021-06-19T12:51:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23823&amp;p=232760#p232760</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23823&amp;p=232760#p232760"/>
<title type="html"><![CDATA[RTC MCP7940N konfiguracja startowa układu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23823&amp;p=232760#p232760"><![CDATA[
Witam serdecznie szanownych Kolegów.<br /><br />Borykam się z następującym problemem: Implementuję obsługę RTC jak w temacie.<br />Oto link do jego noty katalogowej: <!-- m --><a class="postlink" href="http://ww1.microchip.com/downloads/en/DeviceDoc/MCP7940N-Battery-Backed-I2C-RTCC-with-SRAM-20005010G.pdf" >http://ww1.microchip.com/downloads/en/D ... 05010G.pdf</a><!-- m --><br /><br />Chciałbym abyście zweryfikowali poprawność mojego toku myślenia.<br />Przede wszystkim założenia są takie, że:<br />1. Do układu RTC jest dołączona bateria podtrzymująca mu zasilanie.<br />2. RTC jest napędzany z kwarcu zewnętrznego 32.768 kHz<br /><br />W związku z tym należy odpowiednio skonfigurować pewne rejestry, które oznaczyłem niżej na obrazku:<br /><a href="https://obrazkiforum.atnel.pl/1912/b043ed5f8b7ab437c32881aec9d156da.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/1912/b043ed5f8b7ab437c32881aec9d156da.jpg" alt="Obrazek" /></a><br /><br />Bit ST (na rysunku na czerwono) ustawiam przy okazji ustawienia godziny. Zegar chodzi, nie zatrzymuje się i tu jest ok.<br />Bit VBATEN bo bit który jest odpowiedzialny za podtrzymywanie bateryjne i powinien być ustawiony na 1<br />Bit EXTOSC musi być 0 ponieważ RTC napędzany jest z zewnętrznego rezonatora a nie z sygnału zegarowego.<br />Wg mnie to są wszystkie bity które należy ustawić aby wstępie i poprawnie skonfigurować RTC.<br /><br />I teraz robię takie doświadczenie:<br />Po tym jak pojawi się zasilanie na płytce i rusza procek to pierwszą funkcję jaką wywołuję to ustawienie bitu  VBATEN oraz EXTOSC oraz godzinę.<br />Czyli: <br />VBATEN = 1<br />EXTOSC = 0<br />ST=1<br /><br />W przypadku gdy zdejmę zasilanie z płytki w ten czas RTC się przełącza na zasilanie z baterii. Następnie ponownie podaje zasilanie zewnętrzne na płytkę (czyli znów ustawiam bity VBATEN, EXTOSC...) i wtedy zaczynają się cuda dziać. A dokładnie data zmienia się na bezsensowną. Czyli tak jak by ukłąd coś tam wpisał sam.<br /><br />W przypadku gdy zakomentuję wywołanie funkcji ustawiających wyżej wspomniane rejestry po czym ustawie czas na poprawny (aktualny)  to czas jest zawsze poprawny.<br />Dlaczego te moje funkcje zaburzają czas, skoro w niego nie ingerują w cale tak po prawdzie...?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 19 cze 2021, o 12:51</p><hr />
]]></content>
</entry>
</feed>