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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-12T21:04:17+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8521&amp;mode</id>
<entry>
<author><name><![CDATA[kamilos3092]]></name></author>
<updated>2014-09-15T07:16:22+01:00</updated>
<published>2014-09-15T07:16:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95517#p95517</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95517#p95517"/>
<title type="html"><![CDATA[Re: Po inicjalizacji wyświetlacza nie działa UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95517#p95517"><![CDATA[
Małe niedopatrzenie, ale okazało się że winien był jednak mikrokontroler. Na innym już wszystko działa, nawet z tym moim babolem w kodzie, który został już poprawiony. <br /><br />Pozdrawiam <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4252">kamilos3092</a> — 15 wrz 2014, o 07:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-09-14T23:19:55+01:00</updated>
<published>2014-09-14T23:19:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95506#p95506</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95506#p95506"/>
<title type="html"><![CDATA[Re: Po inicjalizacji wyświetlacza nie działa UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95506#p95506"><![CDATA[
<div class="quotetitle">kamilos3092 napisał(a):</div><div class="quotecontent"><br />DO obsługi wyświetlacza LCD używam bibliotek pana Mirosława z marca 2010 roku<br /></div><br /><br />No ja widzę, że kolega użył bibliotek z książki - ale już samej książki nie przeczytał zdaje się - bo co to niby ma oznaczać ?<br /><br />[syntax=c]char napis1 = &quot;test&quot;;[/syntax]<br /><br />w Bascomie może to by przeszło ale tu widać że kolega kompletnie odpuścił sobie podstawy C, podpowiadam TABLICE, więc proponuję powrócić do tych rozdziałów książki ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 wrz 2014, o 23:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kamilos3092]]></name></author>
<updated>2015-03-12T21:04:17+01:00</updated>
<published>2014-09-14T22:55:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95500#p95500</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95500#p95500"/>
<title type="html"><![CDATA[Po inicjalizacji wyświetlacza nie działa UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8521&amp;p=95500#p95500"><![CDATA[
Witam, mam problem z którym nie potrafie sobie poradzić. Otóż programuje obecnie atmege32. DO obsługi wyświetlacza LCD używam bibliotek pana Mirosława z marca 2010 roku. Jedyne co w nich zmieniłem to: <br /><br /><span style="color: #FF0000">[ proszę KONIECZNIE poprawić ten post zgodnie z tą instrukcją: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --> - już pisał o tym niżej też moderator. Bardzo proszę - mirekk36 ]</span><br /><br /><br />[syntax=c]&#91;code&#93;// tu konfigurujemy port i piny do jakich podłączymy linie D7..D4 LCD<br />#define LCD_D7PORT  A<br />#define LCD_D7 7<br />#define LCD_D6PORT  A<br />#define LCD_D6 6<br />#define LCD_D5PORT  A<br />#define LCD_D5 5<br />#define LCD_D4PORT  A<br />#define LCD_D4 4<br /><br /><br />// tu definiujemy piny procesora do których podłączamy sygnały RS,RW, E<br />#define LCD_RSPORT A<br />#define LCD_RS 1<br /><br />#define LCD_RWPORT A<br />#define LCD_RW 2<br /><br />#define LCD_EPORT A<br />#define LCD_E 3&#91;/code&#93;[/syntax][syntax=c]&#91;b&#93;Wycinek&#91;/b&#93; kodu z obsługą uarta wygląda tak: <br />&#91;code&#93;<br />#include &lt;stdio.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;hd44780.h&quot;<br />#include &quot;biblioteki.h&quot;<br />#include &lt;avr/interrupt.h&gt;<br /><br />void USART_Init(uint32_t  baud){<br />uint16_t _ubr = (F_CPU/16/baud-1); // dla U2X = 0<br /><br />/*****USTAWIANIE PRĘDKOŚCI******/<br />UBRRH = (uint8_t)(_ubr&gt;&gt;8);<br />UBRRL = (uint8_t) _ubr;<br /><br />/***Załączenie nadajnika 1 odbiornika ***/<br /><br /> UCSRC = (1&lt;&lt;URSEL) | (1&lt;&lt;UCSZ1) | (1&lt;&lt;UCSZ0);  //bitów danych: 8<br />//bity stopu:  1<br />//parzystość:  brak<br />UCSRB = (1&lt;&lt;TXEN) | (1&lt;&lt;RXEN) | (1&lt;&lt;RXCIE);<br /><br />MCUCSR |=(1&lt;&lt;JTD);<br />MCUCSR |=(1&lt;&lt;JTD);<br /><br />}<br /><br />void USART_wysylanie(char *dane){<br /><br />rozmiar = strlen(dane);<br />int i;<br />for( i = 0; i&lt;rozmiar; i++){<br />BUFOR&#91;i&#93; = dane&#91;i&#93;;<br /><br />}<br /><br />BUFOR&#91;i&#93; = 13;<br />BUFOR&#91;i+1&#93; = 10;<br />BUFOR&#91;i+2&#93; = 0;<br /><br /><br />while (!(UCSRA &amp; (1&lt;&lt;UDRE)));  // oczekiwanie aż bufor nadawania będzie pusty<br /><br />x = 0;<br /><br />UCSRB |= (1&lt;&lt;UDRIE);   // włączenie przerwania bufory nadawania;<br /><br />}<br /><br />void inicjalizacja(){<br /><br /><br /><br />DDRD |= STYK1_PIN | STYK2_PIN | STYK3_PIN;<br /><br />DDRD &amp;=~ BIN6 | BIN7;<br /><br />PORTD |= BIN6 | BIN7;<br /><br />DDRB &amp;= ~ P1_PIN | P2_PIN | P3_PIN | P4_PIN | P5_PIN | P6_PIN | P7_PIN | P8_PIN;<br /><br />PORTB |= P1_PIN | P2_PIN | P3_PIN | P4_PIN | P5_PIN | P6_PIN | P7_PIN | P8_PIN;<br /><br />DDRC &amp;= ~ P_CZER | P_ZIEL | BIN1 | BIN2 | BIN3 | BIN4 | BIN5;<br /><br />PORTC |= P_CZER| P_ZIEL | BIN1 | BIN2 | BIN3 | BIN4 | BIN5;<br /><br />//TCCR1B |= (1&lt;&lt;CS12); //preskaler 256<br />//TCNT1 |= 3036; // wartosc poczartowa<br />//TIMSK |= (1&lt;&lt;TOIE1);<br /><br />//TCCR0 |= (1&lt;&lt;WGM01) | (1&lt;&lt;CS02) | (1&lt;&lt;CS00);<br />//OCR0 = 100;<br />//TIMSK |= (1&lt;&lt;OCIE0);<br /><br />STYK1_OFF;<br />STYK2_OFF;<br />STYK3_OFF;<br /><br />lcd_init();<br /><br />lcd_cls();<br /><br />// Wyświetla tytuł<br />lcd_locate(0,0);<br />lcd_str(str1);<br />//_delay_ms(250);<br /><br />lcd_cls();<br />lcd_locate(0,0);<br />lcd_str(str2);<br />//_delay_ms(250);<br /><br />lcd_cls();<br />lcd_locate(0,0);<br />lcd_str(str3);<br />//_delay_ms(250);<br /><br />lcd_cls();<br />lcd_locate(0,0);<br />lcd_str(str4);<br />//_delay_ms(250);<br />lcd_cls();<br /><br />}<br />int main(void){<br /><br /><br /><br /><br /><br />sei();<br />inicjalizacja();<br />USART_Init(9600);<br /> char napis1 = &quot;test&quot;;<br /> char napis2 = &quot;sratatata&quot;;<br />//char z;<br />//lcd_init();<br /><br />  while(1)<br />  {<br />  lcd_cls();<br /><br /> wybrany_przycisk();<br /> biny();<br /> styczniki();<br /> wyswietlacz();<br />  _delay_ms(50);<br />  if(flaga==1){<br />  flaga = 0;<br />  if(odebrane == 'a'){<br />  <br />  USART_wysylanie(napis1);<br />  }<br />  else if(odebrane == 'A'){<br />  <br />  USART_wysylanie(napis2);<br />  }<br /><br />  }<br /><br />    }<br />  return 0;<br /><br />}<br /><br />ISR(USART_RXC_vect){<br /><br />//while (!(UCSRA &amp; (1&lt;&lt;RXC)));<br />odebrane = UDR;<br /><br />flaga = 1;<br /><br />}<br /><br />ISR(USART_UDRE_vect){<br /><br />if(BUFOR&#91;x&#93; != 0){<br />UDR = BUFOR&#91;x&#93;;<br /><br />x++;<br />}<br />else<br />UCSRB &amp;= ~(1&lt;&lt;UDRIE); // wyłączenie przerwania buforu nadawania<br /><br />}<br />&#91;/code&#93;[/syntax]<br /><br />Jeśli nie umieszczam funkcji do inicjalizacji wyświetlacza to wszystko działa. Jeśli zostaje umieszczona to UART mi nie działa :/. Ktoś wie dlaczego? Może walnięta atmega, w co wątpię osobiście.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4252">kamilos3092</a> — 14 wrz 2014, o 22:55</p><hr />
]]></content>
</entry>
</feed>