$programmer = 22 'ARDUINO (using stk500v1 protocol) ' ' ******************************************** ' * 2.42インチ 128x64ドット OLED (SSD1309) * ' * [SPI]で複数台接続するプログラム * ' * O-Family 2022. 7. 3 * ' ******************************************** ' $regfile = "m328pdef.dat" '使用するAVRを設定。 $crystal = 16000000 'AVRクロックを設定。 ' $hwstack = 64 'ハードウェア・スタックの容量を設定。 $swstack = 10 'ソフトウェア・スタックの容量を設定。 $framesize = 24 'フレーム領域の容量を設定。 ' ' OLEDコントローラ[SSD1309]の設定 ([SPI]で複数台接続) * ' Dim _contrast As Byte 'OLEDのコントラスト設定値。[0-255] Const Ssd1309_rotate = 0 '画面の回転。(接続ケーブルが左側=[0], 右側=[1]) $lib "glcdSSD1309-SPI_V2.lib" 'SSD1309-SPIの機能追加版ライブラリを組み込む。 ' Ssd1309_cs1 Alias Portc.0 '1台目のOLED(SSD1309)の[CS]ピンを接続するポートを設定する。 Config Ssd1309_cs1 = Output '1台目の[CS]ピンの接続ポートを出力に設定する。 Reset Ssd1309_cs1 '1台目の[CS]ピンを[L]にする。 Ssd1309_cs2 Alias Portc.1 '2台目のOLED(SSD1309)の[CS]ピンを接続するポートを設定する。 Config Ssd1309_cs2 = Output '2台目の[CS]ピンの接続ポートを出力に設定する。 Reset Ssd1309_cs2 '2台目の[CS]ピンを[L]にする。 ' ' OLEDの接続ポートを設定する。A0 = [DC], Rst = [RES], Si = [SDA], Sclk = [SCLK] Config Graphlcd = 128 * 64eadogm , A0 = Portc.2 , Rst = Portc.3 , Si = Portc.4 , Sclk = Portc.5 Cls 'OLEDの表示をすべて消去する。 Set Ssd1309_cs1 '1台目の[CS]ピンを[H]にする。 Set Ssd1309_cs2 '2台目の[CS]ピンを[H]にする。 '-------------------------------------------------------------------------------------------------- ' ' * OLED表示テストプログラム * ' Setfont Font8x8tt 'フォントを設定する。 ' ' * 1台目の表示 * ' Reset Ssd1309_cs1 '1台目の[CS]ピンを[L]にする。 Lcdat 1 , 1 , "SSD1309 2.42{034} OLED" '通常の文字表示。 Lcdat 2 , 8 , "128x64dots SPI,I2C" '通常の文字表示。 Lcdat 4 , 2 , "Multiple Connections" , 1 '反転表示。 Lcdat 6 , 9 , " < SPI Unit 1 > " , 2 '実線のアンダーライン。 Lcdat 8 , 1 , " 1 1 1 1 1 1 1 1 1 " , 3 '点線のアンダーライン。 Set Ssd1309_cs1 '1台目の[CS]ピンを[H]にする。 ' ' * 2台目の表示 * ' Reset Ssd1309_cs2 '2台目の[CS]ピンを[L]にする。 Lcdat 1 , 1 , "SSD1309 2.42{034} OLED" '通常の文字表示。 Lcdat 2 , 8 , "128x64dots SPI,I2C" '通常の文字表示。 Lcdat 4 , 2 , "Multiple Connections" , 1 '反転表示。 Lcdat 6 , 9 , " < SPI Unit 2 > " , 2 '実線のアンダーライン。 Lcdat 8 , 1 , " 2 2 2 2 2 2 2 2 " , 3 '点線のアンダーライン。 Set Ssd1309_cs2 '2台目の[CS]ピンを[H]にする。 End ' ' * フォント・データ * ' $include "font8x8TT.font" 'フォント・ファイルを組み込む。