之前有看過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/11/15 2022年底 OpenAI 推出 ChatGPT 後,各大廠紛紛推出自己的大語言模型(Large Language Models, LLM),讓電腦也能像人類一樣地自然問答。不過一開始的模型參數量都非常驚人,高達數千億個...
-
從2017/11/8創建這個部落格至今已滿七年了,又是到了自我檢視的時候了。感謝過去一年間大家的支持,點閱次數已累積532,254次,較去年新增109,642次,新增貼文61篇。相較去年貼文數38篇增加了近一倍多,點閱率較去年的39,954增加了二倍多。 以往發文時會大力在FB各...
沒有留言:
張貼留言