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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-08-24T21:32:23+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=50&amp;t=8262&amp;mode</id>
<entry>
<author><name><![CDATA[Mystik]]></name></author>
<updated>2014-08-24T21:32:23+01:00</updated>
<published>2014-08-24T21:32:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92752#p92752</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92752#p92752"/>
<title type="html"><![CDATA[Re: Dostęp do stałych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92752#p92752"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />źle spojrzałem poprzednio ...<br /><br />przecież offset masz 16-bitowy<br /></div><br /><br />No i już widzę, gdzie jest problem.<br /><br />[syntax=cpp]void lcd_I2C_WriteChar_2(char code)<br />{<br />int code_point, width;<br />uint16_t offset;<br /><br />code_point=code-32;<br />offset=pgm_read_byte(&amp;Czcionka_Info&#91;code_point&#93;.offset);<br />LCD_GoTo(0,1);<br />Pisz_Liczbe_4(offset);<br /><br />width=pgm_read_byte(&amp;Czcionka_Info&#91;code_point&#93;.width);<br /><br />for (int i=0; i&lt;width;i++)<br />lcd_I2C_data(pgm_read_byte(&amp;Czcionka&#91;offset+i&#93;));<br /><br />}[/syntax]<br /><br />Wstawiłem sobie w procedurę wyświetlanie offsetu, no i się rypło.<br /><br />[syntax=cpp]offset=pgm_read_byte(&amp;Czcionka_Info&#91;code_point&#93;.offset);[/syntax]<br /><br />To odczytuje tylko pojedynczy bajt, a w bajcie mamy tylko 8-bitów <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> Czyli powyżej 255 nie wyskoczymy. I faktycznie tak jest. Reszta działa. Siłowo ustawiony offset na 259 wywołuje piękną literę &quot;n&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wystarczyło zmienić jedną linijkę na:<br /><br />[syntax=cpp]offset=pgm_read_word(&amp;Czcionka_Info&#91;code_point&#93;.offset);[/syntax]<br /><br />i wszystko działa.<br /><br />Czasami, to naprawdę człowiek przenosi góry, a potyka się o przecinek <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />dzięki i pozdrawiam<br /><br /><br />PS. Mirekk36, czy program PixelFactory może generować fonty kolumnami od LSB? Bo takiej funkcji nie znalazłem i dla UC1601 jest mało przydatny.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5385">Mystik</a> — 24 sie 2014, o 21:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-08-24T20:50:53+01:00</updated>
<published>2014-08-24T20:50:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92747#p92747</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92747#p92747"/>
<title type="html"><![CDATA[Re: Dostęp do stałych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92747#p92747"><![CDATA[
źle spojrzałem poprzednio ...<br /><br />przecież offset masz 16-bitowy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 24 sie 2014, o 20:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mystik]]></name></author>
<updated>2014-08-24T20:42:26+01:00</updated>
<published>2014-08-24T20:42:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92745#p92745</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92745#p92745"/>
<title type="html"><![CDATA[Dostęp do stałych]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8262&amp;p=92745#p92745"><![CDATA[
Witam<br /><br />Już myślałem, że sobie poradzę, ale stanąłem wobec dziwnego problemu.<br /><br />Ale od początku. Piszę obsługę tekstów na LCD graficznym UC1601. Wiadomo, że nie ma on niestety generatora znaków, no to dłubie to pisanie <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Mam tablicę znaków o zmiennej szerokości i tablicę szerokości i przesunięcia:<br /><br />[syntax=cpp]typedef struct<br />{<br />const uint8_t width;<br />const uint16_t offset;<br /><br />} FONT_CHAR_INFO;<br /><br /><br />extern const uint8_t PROGMEM Czcionka&#91;&#93;;<br />extern const FONT_CHAR_INFO PROGMEM Czcionka_Info&#91;&#93;;[/syntax]<br /><br />i fragment Czcionka_Info:<br /><br />[syntax=cpp]const FONT_CHAR_INFO PROGMEM Czcionka_Info&#91;&#93; =<br />{<br />{2, 0}, //<br />{1, 2}, // !<br />{2, 3}, // &quot;<br />....<br />{5, 254}, // m<br />{3, 259}, // n<br />{4, 262}, // o<br />{4, 266}, // p<br />....<br />};[/syntax]<br /><br />Do tego procedura wyświetlania znaku:<br /><br />[syntax=cpp]void lcd_I2C_WriteChar_2(char code)<br />{<br />int code_point, width;<br />uint16_t offset;<br /><br />code_point=code-32;<br />offset=pgm_read_byte(&amp;Czcionka_Info&#91;code_point&#93;.offset);<br />width=pgm_read_byte(&amp;Czcionka_Info&#91;code_point&#93;.width);<br /><br />for (int i=0; i&lt;width;i++)<br />lcd_I2C_data(pgm_read_byte(&amp;Czcionka&#91;offset+i&#93;));<br /><br />}[/syntax]<br /><br />I wszystko pięknie działa, do momentu, aż nie próbuję wyświetlić litery &quot;n&quot;. Zaczynają się wyświetlać krzaki.<br />Sądzę, że problemem jest wartość liczbowa offsetu w tablicy opisu czcionki. Dla litery &quot;n&quot; przyjmuje ona wartość 259 (&gt;255). I to stanowi problem. <br /><br />Co z tym fantem zrobić? Skąd to ograniczenie do 8 bitów?<br /><br />pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5385">Mystik</a> — 24 sie 2014, o 20:42</p><hr />
]]></content>
</entry>
</feed>