娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月29日(星期日)

正在發(fā)生

2018年09月29日 | STM32f4---OLCD顯示實驗代碼(04)

發(fā)布者:Changsheng520 來源: eefocus關鍵字:STM32f4  OLCD  顯示實驗 手機看文章 掃描二維碼
隨時隨地手機看文章

在知道了取模方式之后,我們就可以根據(jù)取模的方式來編寫顯示字符的代碼了,這里我們針對以上取模方式的顯示字符代碼如下:  

//在指定位置顯示一個字符,包括部分字符

//x:0~127 y:0~63

//mode:0,反白顯示;1,正常顯示          

//size:選擇字體  12/16/24  

void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size,u8 mode)

{                  

  u8 temp,t,t1,y0=y;

  u8 csize=(size/8+((size%8)?1:0))*(size/2);//得到字體一個字符對應點陣集所占的字節(jié)數(shù)

  chr=chr-' ';//得到偏移后的值      

     for(t=0;t

     {    

    if(size==12)temp=asc2_1206[chr][t];        //調用 1206 字體

    else if(size==16)temp=asc2_1608[chr][t];  //調用 1608 字體

    else if(size==24)temp=asc2_2412[chr][t];  //調用 2412 字體

    else return;              //沒有的字庫

         for(t1=0;t1<8;t1++)

    {

      if(temp&0x80)OLED_DrawPoint(x,y,mode);

      else OLED_DrawPoint(x,y,!mode);

      temp<<=1;y++;

      if((y-y0)==size)

      {

        y=y0; x++;break;

      }

    }       

       }

}

該函數(shù)為字符以及字符串顯示的核心部分,函數(shù)中 chr=chr-' ';這句是要得到在字符點陣數(shù)據(jù)里面的實際地址,因為我們的取模是從空格鍵開始的,例如oled_asc2_1206[0][0],代表的是空格符開始的點陣碼。在接下來的代碼,我們也是按照從上到小( y++),從左到右(再 x++)的取模方式來編寫的,先得到最高位,然后判斷是寫 1 還是 0,畫點;接著讀第二位,如此循環(huán),直到一個字符的點陣全部取完為止。這其中涉及到列地址和行地址的自增,根據(jù)取模方式來理解,就不難了。

oled.c的內容就為大家介紹到這里,接下來我們看看oled.h 代碼:

#ifndef __OLED_H

#define __OLED_H             

#include "sys.h"

#include "stdlib.h"       

//OLED 模式設置

//0: 4線串行模式  (模塊的BS1BS2 均接GND

//1: 并行8080 模式 (模塊的BS1BS2均接VCC

#define OLED_MODE   1                          

//-----------------OLED 端口定義----------------                 

#define OLED_CS    PBout(7)

#define OLED_RST     PGout(15)  

#define OLED_RS    PDout(6)

#define OLED_WR    PAout(4)       

#define OLED_RD    PDout(7)  

//使用4 串行接口時使用  

#define OLED_SCLK    PCout(6)

#define OLED_SDIN    PCout(7)          

#define OLED_CMD    0    //寫命令

#define OLED_DATA    1    //寫數(shù)據(jù)

//OLED 控制用函數(shù)

void OLED_WR_Byte(u8 dat,u8 cmd);       

……        //忽略部分函數(shù)聲明

void OLED_ShowString(u8 x,u8 y,const u8 *p);    

#endif

該部分比較簡單,OLED_MODE 的定義也在這個文件里面,我們必須根據(jù)自己 OLED 模塊 BS1 BS2的設置(目前代碼僅支持 80804SPI)來確定OLED_MODE的值。

最后我們來看看主函數(shù)代碼:

int main(void)

{  

  u8 t=0;

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統(tǒng)中斷優(yōu)先級分組2

  delay_init(168);  //初始化延時函數(shù)

  uart_init(115200);    //初始化串口波特率115200

  LED_Init();          //初始化 LED

    OLED_Init();        //初始化OLED

       OLED_ShowString(0,0,"ALIENTEK",24);   

  OLED_ShowString(0,24, "0.96' OLED TEST",16);   

    OLED_ShowString(0,40,"ATOM 2014/5/4",12);   

    OLED_ShowString(0,52,"ASCII:",12);   

    OLED_ShowString(64,52,"CODE:",12);   

  OLED_Refresh_Gram();//更新顯示到OLED    

  t=' ';   

  while(1)  

  {    

    OLED_ShowChar(36,52,t,12,1);//顯示 ASCII字符  

    OLED_ShowNum(94,52,t,3,12);  //顯示 ASCII字符的碼值     

    OLED_Refresh_Gram();//更新顯示到OLED

    t++;

    if(t>'~')t=' ';   

    delay_ms(500); LED0=!LED0;

  }

}

該部分代碼用于在OLED上顯示一些字符,然后從空格鍵開始不停的循環(huán)顯示 ASCII字符集,并顯示該字符的ASCII值。然后我們編譯此工程,直到編譯成功為止。


關鍵字:STM32f4  OLCD  顯示實驗 引用地址:STM32f4---OLCD顯示實驗代碼(04)

上一篇:STM32f4---TFTLCD顯示實驗代碼(01)
下一篇:STM32f4---OLCD顯示實驗代碼(03)

推薦閱讀

led.c 文件中輸入如下代碼#include "led.h" //初始化PF9和PF10為輸出口.并使能這兩個口的時鐘 //LED IO 初始化void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能 GPIOF時鐘 //GPIOF9,F10 初始化設置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 ...
要求:1、計時范圍:0~59分59.59秒,整數(shù)四位數(shù)和小數(shù)兩位數(shù)顯示;2、計時精度10毫秒;3、復位按鈕,計時器清零,并做好下次計時準備;4、可以對兩個對象(A、B)計時,具有啟/停控制;3、設開始、停止A、停止B、顯示A、顯示B、復位按鈕。一、Protues仿真圖:二、程序源碼:因為注釋非常的全,這里就不再進行講解了。/***********************************...
設計任何芯片的關鍵步驟之一就是在獲得第一批芯片后進行的測試。在測試中,您終于可以看到全部悉心工作的成果,并確定芯片是否按照設計和仿真運行。這稱為IC驗證。驗證的重點是功能測試 - 檢查硅芯片是否符合最初要求。這通常涉及一系列表征以及基本功能的測試,以確保設計中沒有漏洞。 驗證步驟與生產測試是分開的,生產測試的重點是快速準確地找到存在制...
使用CAN協(xié)議觸發(fā)進行ID幀過濾的觸發(fā),需要確認以下設置是否正確:(1)觸發(fā)方式設置為【普通】。若觸發(fā)方式為【自動】,即使沒有符合條件的觸發(fā)事件出現(xiàn)也會采集并顯示波形。(2)DLC的設置。DLC不為0時,需要指定具體的數(shù)據(jù)值,此時只有同時滿足幀ID和所有數(shù)據(jù)均匹配的情況下才能觸發(fā)。若只篩選幀ID,不需要篩選數(shù)據(jù)時,不管該數(shù)據(jù)幀中有沒有數(shù)據(jù),將DLC...

史海拾趣

問答坊 | AI 解惑

自主品牌汽車能取得巨大成功么?

大家買車會買自主品牌的車子么? 從銷售來看,日系車子賣的比較好,周圍的同事也有打算買。 我本人很不喜歡日貨,但是勢單力薄阿! 如果沒有國人的支持,我覺得自主品牌的車子不會大紅。 為什么國家就不扶持一下呢?…

查看全部問答∨

FPGA的時鐘約束問題

FPGA內用main clock產生分頻時鐘clk_div2,clk_div4 分頻時鐘各自驅動數(shù)千個FF,故分頻后的net各自驅動一個bufg 兩者之間有交互的數(shù)據(jù) PR之后發(fā)現(xiàn)clk_div2到clk_div4有hold time的violation 是由于兩個時鐘的max clock skew過大造成的 請教如 ...…

查看全部問答∨

LED電視技術全揭秘

平板電視技術進過07、08年的高速發(fā)展之后,09年將以什么樣的姿態(tài)呈現(xiàn)在我們面前呢?相信這也是很多一直關注平板電視動態(tài)的讀者的疑問。而從今年中國外資、國產品牌的新品發(fā)布動向來看,“LED背光”已經取代了1080P全高清和100Hz倍速驅動,成為當前 ...…

查看全部問答∨

makefile問題,大家指教。

現(xiàn)在要把一個dhcp的源碼,就是從網站上下載的源碼。用arm上的編譯器編譯成在arm linux下運行的dhcp client。 存在問題:下載了源碼,發(fā)現(xiàn)有configure makefile.am makefile.in configure.ac還有幾個目錄client server common doc等等。 看了make ...…

查看全部問答∨

AT24C256不返回ACK

我用的AT24C256 EEPROM,經常在寫入第二個字節(jié)的地址后,它就不返回ACK,導致讀取數(shù)據(jù)失敗。大部分時間返回正常,有時候不返回ACK,不產生IIC中斷。請問這是什么原因?…

查看全部問答∨

請教各位大俠PIC18F2620(MCLR)RESET

各位大俠:我是新手.自己寫了程序用MIKROC PRO2009 FOR PIC編好 ,用PICFLASH 燒進PIC18F2620,再實時仿真都成了. 可是想脫離PICFLASH和PC,用PIN1(MCLR)和VCC間加個10K電阻,再將PIN1到地瞬間短路,產生向下脈沖去RESET.可總也沒 成功.請教各位大俠,該 ...…

查看全部問答∨

請問在vxworks下如何往2個網口(或其中之一)發(fā)送UDP廣播

用MPC852T,VXWORKS5.5,將MPC852T的FEC口為配為100M網口,SCC口配為10M網口,編寫了發(fā)送UDP廣播代碼,通過在FEC和SCC的發(fā)送函數(shù)中加打印信息可以看到,發(fā)送的UDP廣播,發(fā)到FEC口去了,我想將UDP廣播發(fā)送到SCC口,不知如何實現(xiàn)?VXWORKS是如何區(qū)別兩 ...…

查看全部問答∨

數(shù)控并聯(lián)恒流恒壓電源

系統(tǒng)以TI高性能DC/DC轉換器TPS5450為核心組成兩塊DC/DC電路模塊,分別構成本開關電源模塊并聯(lián)供電系統(tǒng)的恒壓源以及恒流源,通過恒壓源模塊調節(jié)實現(xiàn)整個并聯(lián)系統(tǒng)的穩(wěn)定的8V電壓輸出,通過調節(jié)恒流源,實現(xiàn)兩模塊電流的分配。整個系統(tǒng)由兩塊DC/DC轉換 ...…

查看全部問答∨

JLinkARM_V4.02d程序連接不上OK6410開發(fā)板!新手求指導

j-linkv8顯示已經連接上,target 顯示Not connected,弄了好久,不知道什么原因,如圖所示: 希望高手能夠指點,不勝感激~!!!!!!不知道是jlink的問題,還是板子的問題?? 問題補充:用JLinkARM_V4.22g版本的能夠顯示連上開發(fā)板,但是 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 桃源县| 平阴县| 远安县| 镇宁| 元江| 泸西县| 衡山县| 新巴尔虎左旗| 安国市| 夏津县| 青海省| 洛宁县| 新河县| 怀来县| 汨罗市| 平武县| 阿克陶县| 三门县| 巴东县| 若羌县| 四平市| 资中县| 阿勒泰市| 龙胜| 闸北区| 中牟县| 博罗县| 措美县| 长白| 上杭县| 确山县| 渝北区| 长武县| 乳源| 横山县| 子洲县| 通海县| 高陵县| 合作市| 改则县| 永胜县|