<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://www.voip-info.jp/index.php?action=history&amp;feed=atom&amp;title=PIAST_OLED</id>
	<title>PIAST OLED - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="http://www.voip-info.jp/index.php?action=history&amp;feed=atom&amp;title=PIAST_OLED"/>
	<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;action=history"/>
	<updated>2026-05-13T10:07:47Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;diff=9785&amp;oldid=prev</id>
		<title>2016年3月29日 (火) 13:36にTakahashiによる</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;diff=9785&amp;oldid=prev"/>
		<updated>2016-03-29T13:36:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2016年3月29日 (火) 22:36時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;33行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;33行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:9 - NC&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:9 - NC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:10 - NC&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:10 - NC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;※OLEDはモジュールそのものがお安くないので搭載する人はあまりいないようなんで、OLEDキャリーボードは個別売りしません。欲しい人は直接連絡ください。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;diff=9744&amp;oldid=prev</id>
		<title>2016年3月10日 (木) 05:52にTakahashiによる</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;diff=9744&amp;oldid=prev"/>
		<updated>2016-03-10T05:52:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;amp;diff=9744&amp;amp;oldid=9598&quot;&gt;差分を表示&lt;/a&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;diff=9598&amp;oldid=prev</id>
		<title>Takahashi: ページの作成：「OLED(SO1602AWYB-UC-XX)表示処理用プログラム ==OLED初期化==  #include &lt;stdio.h&gt;  #include &lt;stdlib.h&gt;  #include &lt;strings.h&gt;  #include &lt;unistd.h&gt;  #include &lt;fc...」</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=PIAST_OLED&amp;diff=9598&amp;oldid=prev"/>
		<updated>2016-02-29T18:14:13Z</updated>

		<summary type="html">&lt;p&gt;ページの作成：「OLED(SO1602AWYB-UC-XX)表示処理用プログラム ==OLED初期化==  #include &amp;lt;stdio.h&amp;gt;  #include &amp;lt;stdlib.h&amp;gt;  #include &amp;lt;strings.h&amp;gt;  #include &amp;lt;unistd.h&amp;gt;  #include &amp;lt;fc...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;OLED(SO1602AWYB-UC-XX)表示処理用プログラム&lt;br /&gt;
==OLED初期化==&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;errno.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;lt;linux/i2c-dev.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 main(int argc, char *argv[])&lt;br /&gt;
 {&lt;br /&gt;
         int     i2c_fd; //I2Cバス用のファイル・ディスクリプタ&lt;br /&gt;
 &lt;br /&gt;
         char            *i2cbus = &amp;quot;/dev/i2c-1&amp;quot;; //バス1側のデバイス名&lt;br /&gt;
         int             oled_addr = 0x3c;        //OLEDのアドレス&lt;br /&gt;
         unsigned char   oled_reg = 0x40;         //書き込み対象のレジスタ&lt;br /&gt;
 &lt;br /&gt;
         int             i;                      //汎用カウンタ&lt;br /&gt;
         unsigned char   buf[4];                 //書き込み用バッファ&lt;br /&gt;
         char            dmesg[256];&lt;br /&gt;
 &lt;br /&gt;
         if(argc &amp;lt; 1) exit(1);&lt;br /&gt;
 &lt;br /&gt;
         //I2Cバスをオープンする&lt;br /&gt;
         if((i2c_fd = open(i2cbus, O_RDWR))&amp;lt;0){&lt;br /&gt;
                 perror(&amp;quot;oledinit open&amp;quot;);&lt;br /&gt;
                 exit(1);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         //スレーブのアドレスをioctlで設定&lt;br /&gt;
         if(ioctl(i2c_fd, I2C_SLAVE, oled_addr) &amp;lt; 0){&lt;br /&gt;
                 perror(&amp;quot;oledinit can&amp;#039;t set slave&amp;quot;);&lt;br /&gt;
                 close(i2c_fd);&lt;br /&gt;
                 exit(1);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
         usleep(100);&lt;br /&gt;
         //OLED初期化&lt;br /&gt;
         //ディスプレイ消去&lt;br /&gt;
         buf[0] = 0x00;&lt;br /&gt;
         buf[1] = 0x01;&lt;br /&gt;
         write(i2c_fd,buf,2);&lt;br /&gt;
         usleep(20);&lt;br /&gt;
         //カーソルをホームへ&lt;br /&gt;
         buf[0] = 0x00;&lt;br /&gt;
         buf[1] = 0x02;&lt;br /&gt;
         write(i2c_fd,buf,2);&lt;br /&gt;
         usleep(20);&lt;br /&gt;
         //表示ON,カーソル表示なし&lt;br /&gt;
         buf[0] = 0x00;&lt;br /&gt;
         buf[1] = 0x0c;&lt;br /&gt;
         write(i2c_fd,buf,2);&lt;br /&gt;
         usleep(20);&lt;br /&gt;
         //表示ON&lt;br /&gt;
         buf[0] = 0x00;&lt;br /&gt;
         buf[1] = 0x01;&lt;br /&gt;
         write(i2c_fd,buf,2);&lt;br /&gt;
         usleep(20);&lt;br /&gt;
 &lt;br /&gt;
         close(i2c_fd);&lt;br /&gt;
 }&lt;br /&gt;
==OLED1行目表示用==&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;errno.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;lt;linux/i2c-dev.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 main(int argc, char *argv[])&lt;br /&gt;
 {&lt;br /&gt;
         int     i2c_fd; //I2Cバス用のファイル・ディスクリプタ&lt;br /&gt;
 &lt;br /&gt;
         char            *i2cbus = &amp;quot;/dev/i2c-1&amp;quot;; //バス1側のデバイス名&lt;br /&gt;
         int             oled_addr = 0x3c;        //OLEDのアドレス&lt;br /&gt;
         unsigned char   oled_reg = 0x40;         //書き込み対象のレジスタ&lt;br /&gt;
 &lt;br /&gt;
         int             i;                      //汎用カウンタ&lt;br /&gt;
         unsigned char   buf[4];                 //書き込み用バッファ&lt;br /&gt;
         char            dmesg[256];&lt;br /&gt;
 &lt;br /&gt;
         if(argc &amp;lt; 2) exit(1);&lt;br /&gt;
 &lt;br /&gt;
         //I2Cバスをオープンする&lt;br /&gt;
         if((i2c_fd = open(i2cbus, O_RDWR))&amp;lt;0){&lt;br /&gt;
                 perror(&amp;quot;oledinit open&amp;quot;);&lt;br /&gt;
                 exit(1);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         //スレーブのアドレスをioctlで設定&lt;br /&gt;
         if(ioctl(i2c_fd, I2C_SLAVE, oled_addr) &amp;lt; 0){&lt;br /&gt;
                 perror(&amp;quot;oledinit can&amp;#039;t set slave&amp;quot;);&lt;br /&gt;
                 close(i2c_fd);&lt;br /&gt;
                 exit(1);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         //カーソルをホームへ&lt;br /&gt;
         buf[0] = 0x00;&lt;br /&gt;
         buf[1] = 0x02;&lt;br /&gt;
         write(i2c_fd,buf,2);&lt;br /&gt;
         usleep(20);&lt;br /&gt;
 &lt;br /&gt;
         //1行目処理&lt;br /&gt;
         strncpy(dmesg, argv[1], 16);&lt;br /&gt;
         //メッセージ書き込み&lt;br /&gt;
         for(i=0;i&amp;lt;16;i++) {&lt;br /&gt;
                 buf[0] = 0x40;&lt;br /&gt;
                 if(dmesg[i] == 0) break;&lt;br /&gt;
                 buf[1] = dmesg[i];&lt;br /&gt;
                 write(i2c_fd,buf,2);&lt;br /&gt;
                 usleep(20);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         close(i2c_fd);&lt;br /&gt;
 }&lt;br /&gt;
==OLED2行目表示用==&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;errno.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;lt;linux/i2c-dev.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 main(int argc, char *argv[])&lt;br /&gt;
 {&lt;br /&gt;
         int     i2c_fd; //I2Cバス用のファイル・ディスクリプタ&lt;br /&gt;
 &lt;br /&gt;
         char            *i2cbus = &amp;quot;/dev/i2c-1&amp;quot;; //バス1側のデバイス名&lt;br /&gt;
         int             oled_addr = 0x3c;        //OLEDのアドレス&lt;br /&gt;
         unsigned char   oled_reg = 0x40;         //書き込み対象のレジスタ&lt;br /&gt;
 &lt;br /&gt;
         int             i;                      //汎用カウンタ&lt;br /&gt;
         unsigned char   buf[4];                 //書き込み用バッファ&lt;br /&gt;
         char            dmesg[256];&lt;br /&gt;
 &lt;br /&gt;
         if(argc &amp;lt; 2) exit(1);&lt;br /&gt;
 &lt;br /&gt;
         //I2Cバスをオープンする&lt;br /&gt;
         if((i2c_fd = open(i2cbus, O_RDWR))&amp;lt;0){&lt;br /&gt;
                 perror(&amp;quot;oledinit open&amp;quot;);&lt;br /&gt;
                 exit(1);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         //スレーブのアドレスをioctlで設定&lt;br /&gt;
         if(ioctl(i2c_fd, I2C_SLAVE, oled_addr) &amp;lt; 0){&lt;br /&gt;
                  perror(&amp;quot;oledinit can&amp;#039;t set slave&amp;quot;);&lt;br /&gt;
                  close(i2c_fd);&lt;br /&gt;
                  exit(1);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         //DDRAMを2行目へ&lt;br /&gt;
         buf[0] = 0x00;&lt;br /&gt;
         buf[1] = 0xa0;&lt;br /&gt;
         write(i2c_fd,buf,2);&lt;br /&gt;
         usleep(20);&lt;br /&gt;
 &lt;br /&gt;
         //2行目処理&lt;br /&gt;
         strncpy(dmesg, argv[1], 16);&lt;br /&gt;
         //メッセージ書き込み&lt;br /&gt;
         for(i=0;i&amp;lt;16;i++) {&lt;br /&gt;
                 buf[0] = 0x40;&lt;br /&gt;
                 if(dmesg[i] == 0) break;&lt;br /&gt;
                 buf[1] = dmesg[i];&lt;br /&gt;
                 write(i2c_fd,buf,2);&lt;br /&gt;
                 usleep(20);&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         close(i2c_fd);&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
</feed>