本文來源電子發燒友社區,作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2288625_1_1.html
hellow world我的一小步,是人類的一大步,我的目標是星辰大海。
hellow world我的一小步,是人類的一大步,我的目標是星辰大海。
1. 今日目標
2.OLED屏介紹
SSD1306內置對比度控制、顯示RAM和振蕩器,減少了外部組件和功耗。它有256級亮度控制。數據/命令是從通用單片機通過硬件可選的6800/8000系列兼容并行接口發送,I2C接口或串行外圍接口。它適用于許多緊湊型便攜式應用程序,例如手機副顯示屏、MP3播放器、計算器等。
模塊特點:
· 沒有背光,需要通過寫入指令來開啟顯示
· 尺寸?。?.96寸,分辨率高:128*64
· 提供多種通信接口:6800、8080、3線/4線SPI、IIC
· 供電3.3V
數據手冊見:SSD1780 (adafruit.com)
3.I2C協議介紹
特點:
交換數據總量少;
數據傳輸率低;
標準傳輸頻率為100KHZ、400KHZ;
4.程序邏輯
主程序如下,首先初始化OLED,然后給屏幕填充黑色,相當于清空屏幕。再設置I2C通信的波特率,mcu用I2C控制OLED顯示。再說的簡單點就是通過定位到屏幕某個點,開始畫點,字符對應的點的信息就是字庫。
定位到某個點的函數如下
- void OledSetPosition(uint8_t x, uint8_t y)
- {
- WriteCmd(0xb0 + y);
- WriteCmd(((x & 0xf0) >> 4) | 0x10);
- WriteCmd(x & 0x0f);
- }
顯示一個字符的函數如下
- void OledShowChar(uint8_t x, uint8_t y, uint8_t ch, Font font)
- {
- uint8_t c = 0;
- uint8_t i = 0;
- c = ch - ' ';
- if (x > OLED_WIDTH - 1) {
- x = 0;
- y = y + 2;
- }
- if (font == FONT8x16) {
- OledSetPosition(x, y);
- for (i = 0; i < 8; i++){
- WriteData(F8X16[c*16 + i]);
- }
- OledSetPosition(x, y+1);
- for (i = 0; i < 8; i++) {
- WriteData(F8X16[c*16 + i + 8]);
- }
- } else {
- OledSetPosition(x, y);
- for (i = 0; i < 6; i++) {
- WriteData(F6x8[c][i]);
- }
- }
- }
程序主邏輯如下
- static void OledmentTask(void *arg)
- {
- (void)arg;
- OledInit();
- OledFillScreen(0);
- IoTI2cInit(AHT20_I2C_IDX, AHT20_BAUDRATE);
- OledShowString(20, 3, "Hello world", 1);
- }
- static void OledDemo(void)
- {
- osThreadAttr_t attr;
- attr.name = "OledmentTask";
- attr.attr_bits = 0U;
- attr.cb_mem = NULL;
- attr.cb_size = 0U;
- attr.stack_mem = NULL;
- attr.stack_size = 4096;
- attr.priority = osPriorityNormal;
- if (osThreadNew(OledmentTask, NULL, &attr) == NULL) {
- printf("[OledDemo] Falied to create OledmentTask!n");
- }
- }
5. 實物演示
6. 暢像未來
這塊屏是可以調節亮度的,以亮度為灰度值,那么可以顯示黑白圖片了,再大膽一點,刷新率足夠的話,按照指定頻率顯示不同的黑白圖片,就可以看黑白電影了。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
wi-fi
+關注
關注
14文章
2169瀏覽量
124837 -
HarmonyOS
+關注
關注
79文章
1982瀏覽量
30422 -
HiSpark
+關注
關注
1文章
156瀏覽量
6945
發布評論請先 登錄
相關推薦
Wi-Fi 8要來了!未來Wi-Fi技術演進方向揭秘
產品銷售中,雖然Wi-Fi 7產品的銷量份額快速從年初的個位數百分比增長至14%,但Wi-Fi 6產品的銷量份額依然穩定在60%左右。如果從存量設備來看,那么Wi-Fi 7路由器的占比將遠遠小于這個數。 ? 智能手機等終端設備已
華為海思正式進入Wi-Fi FEM賽道?
大家都知道了,2018年11 月離開銳迪科(RDA),前往福建晉江創立三伍微,專注于Wi-Fi射頻前端芯片,從路由器Wi-Fi FEM,到手機Wi-Fi FEM,再到IoT FEM全覆
發表于 12-11 17:42
摩爾斯微電子發布Wi-Fi HaLow評估套件,加速物聯網開發
。 MM6108-EKH05評估套件充分發揮了Wi-Fi HaLow技術的強大功能,支持從智能家居到工業自動化的廣泛應用。其數據傳輸速率高達32.5 Mbps,并能在1 GHz以下頻率范圍內進行可編程操作,是物聯網
從Wi-Fi 4到Wi-Fi 7:網速飆升40倍的無線革命
1 Wi-Fi技術的快速發展 每一代新的Wi-Fi協議發布,都會帶來更高的無線速率。 ? 從Wi-Fi 4到Wi-Fi 7:無線網絡技術顯著提升,實現了網速的巨大飛躍。 ? ?
Wi-Fi 7與Wi-Fi 6E有什么區別
也許很多人還在考慮是否要將使用的Wi-Fi設備升級到Wi-Fi 6或Wi-Fi 6E,而這些標準的繼任者卻已經開始“登堂入室”了。Wi-Fi 7是新一代
未來的Wi-Fi路由器
轉載自——鐘林談芯 沒有創新就沒有未來,Wi-Fi路由器也是如此。 進入2024年以后,Wi-Fi路由器市場變得更加艱難,利潤大幅下滑,BOM成本價高于市場價,接不接訂單,都陷入兩難。 國內主芯片
DA16200 超低功耗 Wi-Fi 模塊開發套件 Pro數據手冊
電子發燒友網站提供《DA16200 超低功耗 Wi-Fi 模塊開發套件 Pro數據手冊.rar》資料免費下載
發表于 05-30 17:53
?1次下載
DA16200 超低功耗 Wi-Fi 模塊開發套件數據手冊
電子發燒友網站提供《DA16200 超低功耗 Wi-Fi 模塊開發套件數據手冊.rar》資料免費下載
發表于 05-30 17:13
?0次下載
AIROC? Wi-Fi和藍牙組合連接掉線的原因?怎么解決?
我最近購買了一臺配備 AIROC? Wi-Fi 和藍牙組合模塊的筆記本電腦。 大多數時候,Wi-Fi 連接都能正常使用圖書館創世紀網站ePUB 轉換工具、在線書店和學術出版物,但我注意到藍牙連接總是
發表于 05-24 07:48
驗證物聯網Wi-Fi HaLow用例的MM6108-EKH08開發套件來啦
驗證物聯網Wi-Fi HaLow用例的MM6108-EKH08開發套件來啦 MM6108-EKH08開發套件專為驗證物聯網Wi-Fi HaLow用例而設計。該
Wi-Fi的誕生與發展
短距離無線通信技術有Wi-Fi、ZigBee、藍牙以及Z-Wave,今天我們先揭開Wi-Fi的神秘面紗。Chrent短距離無線通信技術——Wi-Fi過去的20多年,Wi-Fi靠著僅有的
Wi-Fi HaLow和傳統Wi-Fi的區別
Wi-Fi HaLow和傳統Wi-Fi的區別? Wi-Fi是一種無線網絡技術,可以連接到互聯網或局域網,為用戶提供無線上網的便利。隨著科技的發展和互聯網的普及,Wi-Fi也在不斷演進和
評論