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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-07-23T12:21:08+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15839&amp;mode</id>
<entry>
<author><name><![CDATA[fizyk_xyz]]></name></author>
<updated>2016-07-23T12:21:08+01:00</updated>
<published>2016-07-23T12:21:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164595#p164595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164595#p164595"/>
<title type="html"><![CDATA[Re: Uniwersalna biblioteka PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164595#p164595"><![CDATA[
Przyjrzyj się postów o preprocesora, tam pokazałem drogę do której ja doszedłem, aby mieć tablicowy dostęp do każdego/dowolnego pinu AVR. Opiera się na wskaźnikach, nowych definicjajach DDR PORT I PIN, no i oczywiście ztablicowaniu adresów startowych portów.A wszystko i tak bazuje na definicjach avrgcc, więc kompilator powinien wytworzyć optymalny kod binarny.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />W tematyce samych przerwań, obsługi i skomplikowanych callback'ów, to tylko mistrz Mirek tudzież jego najlepsi studenci. Na razie ja w tym zakresie mam za małe doświadczenie...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5289">fizyk_xyz</a> — 23 lip 2016, o 12:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jatsekku]]></name></author>
<updated>2016-07-23T12:08:25+01:00</updated>
<published>2016-07-23T12:08:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164594#p164594</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164594#p164594"/>
<title type="html"><![CDATA[Re: Uniwersalna biblioteka PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164594#p164594"><![CDATA[
No mniej więcej coś takiego. Jakby miała to być funkcja to mógłbym to rozwiązać tak jak przykład SuperDebounce z BB, ale fakt iż jest to przerwanie trochę mi komplikuje życie. Nie chciałbym też za bardzo tracić na prędkości.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3920">Jatsekku</a> — 23 lip 2016, o 12:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fizyk_xyz]]></name></author>
<updated>2016-07-23T10:12:04+01:00</updated>
<published>2016-07-23T10:12:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164591#p164591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164591#p164591"/>
<title type="html"><![CDATA[Re: Uniwersalna biblioteka PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164591#p164591"><![CDATA[
Czy koledze chodzi o przypisanie pinów procesora do przerwań i ewentualną ich obsługę w pętlach?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5289">fizyk_xyz</a> — 23 lip 2016, o 10:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bartek123]]></name></author>
<updated>2016-07-23T06:03:10+01:00</updated>
<published>2016-07-23T06:03:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164586#p164586</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164586#p164586"/>
<title type="html"><![CDATA[Re: Uniwersalna biblioteka PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164586#p164586"><![CDATA[
Ja bym spróbował użyć pętli np for przerwanie niestety będzie się dłużej wykonywać, ale w tedy będziesz miał uniwersalność.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10617">Bartek123</a> — 23 lip 2016, o 06:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jatsekku]]></name></author>
<updated>2016-07-23T00:42:55+01:00</updated>
<published>2016-07-23T00:42:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164583#p164583</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164583#p164583"/>
<title type="html"><![CDATA[Uniwersalna biblioteka PWM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15839&amp;p=164583#p164583"><![CDATA[
Witam! <br />  Panowie mam taki mały problem. Chciałbym sobie napisać bibliotekę realizującą programowe kanały PWM. Ćwiczonka sobie przerobiłem i sam mechanizm jest klarownie czysty i jasny <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Chciałbym jednak mieć możliwość definiowania sobie w programie ilości takich kanałów oraz to do jakich wyprowadzeń je podłączyć. Głowie się i głowie i nie mogę nic wymyślić...<br /><br />  Załóżmy, że potrzebuję sobie utworzyć 3 kanały i chciałbym, żeby wyglądało to np tak:<br />[syntax=c]int main(void)<br />{<br />PWM_Init(1,PORTC,PC4);<br />PWM_Init(2,PORTC,PC7);<br />PWM_Init(3,PORTC,PC2);<br />//PWM_Init(Nr kanału, Nazwa portu, Nr pinu)<br /><br />while(1)<br />{<br />PWM1 = 99;<br />PWM2 = 34;<br />PWM3 = 255;<br />}<br />}[/syntax]<br /><br />Sęk w tym, że jedyne co mi przychodzi do głowy to kopiowanie programów i wybór przy użyciu preprocesora. Tylko, że takie rozwiązanie wydaje mi się bardzo nieeleganckie. Macie może pomysł jak to zrealizować, żeby nie pisać po 15 różnych rodzajów obsługi przerwania różniących się tylko ilością warunków typu :<br />[syntax=c](PWM&gt;=PWM1)? (PORT(PWMPORT1) |=(1&lt;&lt;PWMPIN1)) : (PORT(PWMPORT1) &amp;=~(1&lt;&lt;PWMPIN1));[/syntax]<br />Może powinienem się z tym jakoś uciec do C++?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3920">Jatsekku</a> — 23 lip 2016, o 00:42</p><hr />
]]></content>
</entry>
</feed>