之前有看過OpenQSignage開源迷你電子看板(Arduino LCD動畫胸牌) (https://omnixri.blogspot.tw/2018/01/openqsignagearduino-lcd.html)專案的朋友向我反應,來揚科技的PSRAM看起來好像很不錯,但開源的程式太長不容易消化,可否提供一簡單版本,只有讀寫一個字元組(Byte)的範例。為了大家更容易了解使用方式,我重新整理了一段Arduino程式供大家參考,希望對大家有用。
接線圖請參考 OpenQSignage開源迷你電子看板(Arduino LCD動畫胸牌)#1_硬體設計說明 圖三。
// Lytek PSRAM 讀寫測試程式
// 從UART接收一BYTE(ASCII),寫入PSRAM,再從PSRAM讀出,送回UART(16進制顯示)
// 作者:歐尼克斯實境互動工作室 OmniXRI Jack Hsu
// Feb. 2018
#include <SPI.h> // 引入驅動SPI函式庫,應用於SPI PSRAM
// 來揚科技(Lyontek) SPI PSRAM LY68L6400 I/O設定
int PIN_PSRAM_CE = 10; // 晶片選擇線, Arduino PB2
int PIN_PSRAM_SI = 11; // 串列資料輸入線, Arduino PB3
int PIN_PSRAM_SO = 12; // 串列資料輸出線, Arduino PB4
int PIN_PSRAM_SCK = 13; // 時脈線, Arduino PB5
int rx_data; // 接收URART資料
char tx_data; // 從UART發送資料
// Arduino初始化程式
void setup() {
// 初始化UART通訊埠(COM Port)
Serial.begin(57600); // 設定通訊鮑率為57,600bps(可自由設定)
// 初始化SPI串列埠為控制來揚科技(Lyontek) SPI PSRAM LY68L6400
pinMode(PIN_PSRAM_CE, OUTPUT);
SPI.begin(); // 啟動SPI
SPI.setBitOrder(MSBFIRST); // 設定SPI為高位元先送模式
SPI.setDataMode(SPI_MODE0); // 設定SPI為模式0(CPOL,CPHA皆為零,即資料SI/SO備妥後CLK再以正緣觸發)
SPI.setClockDivider(SPI_CLOCK_DIV2); // 為外頻再除以2,3.3V Arduino外頻為8MHz,所以SPI時脈為4MHz
}
// Arduino無限循環程式段
void loop() {
if (Serial.available() > 0) { // 假若UART未接收到任何資料則略過
rx_data = Serial.read(); //
digitalWrite(PIN_PSRAM_CE, LOW);// SPI PSRAM 晶片選擇線設為低電位
// 設定 SPI PSRAM寫入起始位置
SPI.transfer(0x02); // 寫入PSRAM寫入命令0x02
SPI.transfer(0); // 寫入PSRAM位址 bit 23 ~ 16
SPI.transfer(0); // 寫入PSRAM位址 bit 15 ~ 8
SPI.transfer(0); // 寫入PSRAM位址 bit 7 ~ 0
SPI.transfer( (char)rx_data); // 將讀入資料寫入PSRAM(位址自動加一)
digitalWrite(PIN_PSRAM_CE, HIGH);// SPI PSRAM 晶片選擇線設為高電位
digitalWrite(PIN_PSRAM_CE, LOW);// SPI PSRAM 晶片選擇線設為低電位
// 設定 SPI PSRAM讀取起始位置
SPI.transfer(0x03); // 寫入PSRAM低速讀取命令0x03
SPI.transfer(0); // 寫入PSRAM位址 bit 23 ~ 16
SPI.transfer(0); // 寫入PSRAM位址 bit 15 ~ 8
SPI.transfer(0); // 寫入PSRAM位址 bit 7 ~ 0
tx_data = SPI.transfer(0);
digitalWrite(PIN_PSRAM_CE, HIGH);// SPI PSRAM 晶片選擇線設為高電位
Serial.println(tx_data, HEX);
}
}
OmniXRI (Omni-eXtened Reality Interaction) 歐尼克斯實境互動工作室是一個全方位電腦視覺、實境互動、邊緣計算及人工智慧技術的愛好者及分享者,歡迎大家不吝留言指教多多交流。 這裡的文章大部份是個人原創,如有引用到他人內容都會註明,若不慎疏漏侵犯到,煩請儘快通知,我們會儘速處理。當然這裡的資料也歡迎引用及推廣,煩請註明出處(網頁網址),謝謝!
2018年2月27日 星期二
訂閱:
張貼留言 (Atom)
【頂置】簡報、源碼、系列文快速連結區
常有人反應用手機瀏覽本部落格時常要捲很多頁才能找到系列發文、開源專案、課程及活動簡報,為了方便大家快速查詢,特整理連結如下,敬請參考! Edge AI Taiwan 邊緣智能交流區 全像顯示與互動交流區 台科大(NTUST) 人工智慧與邊緣運算實務 開南大學...
-
作者:Jack OmniXRI, 2024/10/15 留言 相信有在玩AI影像「物件偵測」的朋友對於YOLO(Yolo Only Look Once)一定不會陌生。從2015年第一版(v1)問世至今,在各路大神的努力之下,現在已發展到第十一版(v11),而其中 v4, v7...
-
作者: Jack OmniXRI 2024/10/31 今天剛好看了一個有趣的新聞[1]提到「 面試官問 3, 4, 5 組成最大數字是多少? 博士神回答妙錄取 」,結果答案是「5的43次方 5 43 = 1.136 ∗ 10 30 」,當然這是不用計算機的情況下最快的反...
沒有留言:
張貼留言