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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-05-17T21:29:42+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23780&amp;mode</id>
<entry>
<author><name><![CDATA[wojtassm]]></name></author>
<updated>2021-05-17T21:29:42+01:00</updated>
<published>2021-05-17T21:29:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23780&amp;p=232415#p232415</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23780&amp;p=232415#p232415"/>
<title type="html"><![CDATA[ATmega64 - po uruchomieniu USART nie działa sprzętowy PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23780&amp;p=232415#p232415"><![CDATA[
Witam <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />    Postanowiłem uruchomić sprzętowe PWM w pewnym sterowniku. Przez długi czas szukałem co jest powodem problemu. I w szoku jestem co się okazało. PWM z poniższego kodu działa, ale jak już w kodzie pojawi się wysyłanie do RSa: uart_puts(&quot;Test&quot;) przestaje działać. Może ktoś ma jakiś pomysł dlaczego tak się dzieje?<br /><br />[syntax=c]int main(void)<br />{<br /><br />unsigned char duty;<br /><br /><br />USART_Init(__UBRR); //Inicjalizacja RS232 ATmega64<br />PWM_Init();<br />lcd_init();//inicjalizacja LCD, czyli ustawienie portów UC obsługujących wyświetlaczs<br />lcd_LED(1);//włączenie podswietlania dla wyświetlacza Negative<br /><br />lcd_cls();<br /><br />sei();// odblokowanie globalne przerwań<br />//ADC_Init();//Inicjalizacja ADC<br /><br />//uart_puts(&quot;Test&quot;); // Po tym PWM przestaje działać<br /><br />while(1)  {<br /><br />_delay_ms(2000);<br /><br />for(duty=0; duty&lt;255; duty++)<br />{<br /><br />OCR3C=duty;  /*increase the LED light intensity*/<br />_delay_ms(50);<br />lcd_locate(3,15);<br />lcd_str(&quot;   &quot;);<br />lcd_locate(3,15);<br />lcd_int(duty);<br /><br />}<br />for(duty=255; duty; duty--)<br />{<br />OCR3C=duty;  /*decrease the LED light intensity*/ //Na ATB jest odwrotnie bo diody są podłączone katodami do uC<br />_delay_ms(20);<br />lcd_locate(3,15);<br />lcd_str(&quot;   &quot;);<br />lcd_locate(3,15);<br />lcd_int(duty);<br /><br />}<br />OCR3C = 0;<br />_delay_ms(2000);<br />}<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 48 minutach ]</span></strong><br /><br /><div class="quotetitle">wojtassm napisał(a):</div><div class="quotecontent"><br />Witam <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />    Postanowiłem uruchomić sprzętowe PWM w pewnym sterowniku. Przez długi czas szukałem co jest powodem problemu. I w szoku jestem co się okazało. PWM z poniższego kodu działa, ale jak już w kodzie pojawi się wysyłanie do RSa: uart_puts(&quot;Test&quot;) przestaje działać. Może ktoś ma jakiś pomysł dlaczego tak się dzieje? Coś pewnie zrobiłem nie tak w bibliotece Mirka MKUART z greenbooka. Ale się kompiluje i USART działa... tylko blokuje PWM.<br /><br />[syntax=c]int main(void)<br />{<br /><br />unsigned char duty;<br /><br /><br />USART_Init(__UBRR); //Inicjalizacja RS232 ATmega64<br />PWM_Init();<br />lcd_init();//inicjalizacja LCD, czyli ustawienie portów UC obsługujących wyświetlaczs<br />lcd_LED(1);//włączenie podswietlania dla wyświetlacza Negative<br /><br />lcd_cls();<br /><br />sei();// odblokowanie globalne przerwań<br />//ADC_Init();//Inicjalizacja ADC<br /><br />//uart_puts(&quot;Test&quot;); // Po tym PWM przestaje działać<br /><br />while(1)  {<br /><br />_delay_ms(2000);<br /><br />for(duty=0; duty&lt;255; duty++)<br />{<br /><br />OCR3C=duty;  /*increase the LED light intensity*/<br />_delay_ms(50);<br />lcd_locate(3,15);<br />lcd_str(&quot;   &quot;);<br />lcd_locate(3,15);<br />lcd_int(duty);<br /><br />}<br />for(duty=255; duty; duty--)<br />{<br />OCR3C=duty;  /*decrease the LED light intensity*/ //Na ATB jest odwrotnie bo diody są podłączone katodami do uC<br />_delay_ms(20);<br />lcd_locate(3,15);<br />lcd_str(&quot;   &quot;);<br />lcd_locate(3,15);<br />lcd_int(duty);<br /><br />}<br />OCR3C = 0;<br />_delay_ms(2000);<br />}<br />}[/syntax]<br /></div><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 54 minutyach ]</span></strong><br /><br />Sorry za podwójny post... zamiast edycji został dodany drugi bez możliwości kolejnej edycji. Jakiś problem chyba ze stroną<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16264">wojtassm</a> — 17 maja 2021, o 21:29</p><hr />
]]></content>
</entry>
</feed>