<?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=46&amp;t=15660&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-06-26T09:15:19+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=15660&amp;mode</id>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-06-26T09:15:19+01:00</updated>
<published>2016-06-26T09:15:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162944#p162944</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162944#p162944"/>
<title type="html"><![CDATA[Re: stm32 - Wyświetlanie napisu w terminalu po wciśnięciu pr]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162944#p162944"><![CDATA[
Włączasz GPIOA, GPIOC, ale USART nie masz włączone, ani skonfigurowane. Poza tym z tego co widzę to GPIOC_Pin13 jest wejściem zatem:<br />[syntax=c]GPIO_WriteBit(GPIOC, GPIO_Pin_13, (BitAction)1);[/syntax] nie ma sensu. Podobnie <em>break</em>.<br /><br />Poza tm poczytaj, jak się wstawia kod: <strong>syntax c</strong>.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 26 cze 2016, o 09:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jitkino]]></name></author>
<updated>2016-06-26T08:52:39+01:00</updated>
<published>2016-06-26T08:52:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162942#p162942</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162942#p162942"/>
<title type="html"><![CDATA[Re: stm32 - Wyświetlanie napisu w terminalu po wciśnięciu pr]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162942#p162942"><![CDATA[
Tak, chcę odczytać stan przycisku. <br /><br />Zmieniłem kod na taki<br /><br />[syntax=c]void send_char(char c)<br />{<br /> while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);<br /> USART_SendData(USART2, c);<br />}<br /><br />void send_string(const char* s)<br />{<br /> while (*s)<br /> send_char(*s++);<br />}<br /><br /><br />int main(void)<br />{<br />GPIO_InitTypeDef GPIO_InitStructure;<br />//int i;<br />#define LED_PORT GPIOA<br />RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);<br />GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;<br />GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;<br />GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;<br />GPIO_Init(GPIOA, &amp;GPIO_InitStructure);<br />RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);<br />GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;<br />GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;<br />GPIO_Init(GPIOC, &amp;GPIO_InitStructure);<br />while (1) {<br />if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == 0)<br />{<br />                  send_string(&quot;Przycisk wcinięty\r\n&quot;);<br />                  GPIO_WriteBit(GPIOC, GPIO_Pin_13, (BitAction)1);<br />                  break;<br />     }<br />}<br />}[/syntax]<br /><br />Wszystko się kompiluje, ale po wciśnięciu przycisku nic się nie wyświetla w terminalu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10161">Jitkino</a> — 26 cze 2016, o 08:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PJS]]></name></author>
<updated>2016-06-25T09:05:26+01:00</updated>
<published>2016-06-25T09:05:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162913#p162913</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162913#p162913"/>
<title type="html"><![CDATA[Re: stm32 - Wyświetlanie napisu w terminalu po wciśnięciu pr]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162913#p162913"><![CDATA[
Nie za bardzo potrafię pojąć co to ma być. W funkcji obsługi przerwania próbujesz chyba odczytać stan przycisku i czekać aż zostanie puszczony? - to będzie blokujące. Linia 7 to pętla while, która nie ma swego &quot;ciała&quot;, bo potem jest  }. Czy to w ogóle się kompiluje? Potem definiujesz funkcje send_char(), i znowu jakaś pętla nieskończona. Czy to w ogóle ma prawo opuścić przerwanie?<br />Obsługa przerwania ma być możliwie krótka. W twoim przypadku jeżeli nawet poprawisz wszystko to może się okazać, że z powodu zbyt długiej (blokującej) obsługi, inne części programu będą nieprawidłowo lub wcale działać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1614">PJS</a> — 25 cze 2016, o 09:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jitkino]]></name></author>
<updated>2016-06-25T07:12:11+01:00</updated>
<published>2016-06-25T07:12:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162908#p162908</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162908#p162908"/>
<title type="html"><![CDATA[stm32 - Wyświetlanie napisu w terminalu po wciśnięciu przyci]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15660&amp;p=162908#p162908"><![CDATA[
Witam. <br /><br />Napisałem program, który wyświetla w terminalu napis z CooCoxa, teraz próbuję dodać obsługę przycisku. Chciałbym, żeby po wciśnięciu przycisku też pojawił się napis w terminalu. <br /><br /><br />Napisałem poniższy program. Jest w stanie ktoś pomóc? <br /><br />[syntax=c]void EXTI15_10_IRQHandler()<br />{<br />int i=0;<br /> if (EXTI_GetITStatus(EXTI_Line13)) {<br /> if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == 0) {<br /><br /> while(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == 0 <br /> }<br /> void send_char(char c)<br /> {<br /> while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);<br /> USART_SendData(USART2, c);<br /> }<br /> while (1) {<br /> send_string(&quot;Przycisk jest wcinięty\r\n&quot;);<br /> }<br /> }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10161">Jitkino</a> — 25 cze 2016, o 07:12</p><hr />
]]></content>
</entry>
</feed>