久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: stm32用spi方式控制oled [打印本頁]

作者: 13958988573    時間: 2019-7-24 10:40
標題: stm32用spi方式控制oled
  1. SPI.h
復制代碼
  1. SPI.c
  2. /*函數功能: GPIO模擬SPI端口初始化                                         */
  3. /*************************************************************************/
  4. void OLED_SPI_Init(void)
  5. {
  6.         GPIO_InitTypeDef GPIO_InitStructure;
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE);//使能PA端口時鐘
  8.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4; //端口配置
  9.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽輸出
  10.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO口速度為50MHz
  11.         GPIO_Init(GPIOA,&GPIO_InitStructure);//根據設定參數初始化GPIOA
  12. }

  13. /*************************************************************************/
  14. /*函數功能: 通過SPIO軟件模擬SPI通信協議,向模塊(SSD1306)寫入一個字節                                  */
  15. /*入口參數:                                                                                                                                                                                                                                                         */       
  16. /*                                                data:要寫入的數據/命令                                                                                                                                                 */                               
  17. /*                                                cmd :數據/命令標志 0,表示命令;1,表示數據;                   */
  18. /*************************************************************************/
  19. void SPI_WriteByte(unsigned char data,unsigned char cmd)
  20. {
  21.         unsigned char i=0;
  22.         OLED_DC =cmd;
  23.         OLED_CLK=0;
  24.         for(i=0;i<8;i++)
  25.         {
  26.                 OLED_CLK=0;
  27.                 if(data&0x80)OLED_MOSI=1; //從高位到低位
  28.                 else OLED_MOSI=0;
  29.                 OLED_CLK=1;
  30.                 data<<=1;
  31.         }
  32.         OLED_CLK=1;
  33.         OLED_DC=1;
  34. }
  35. /*************************************************************************/
  36. /*函數功能: 寫命令                                                        */
  37. /*************************************************************************/
  38. void WriteCmd(unsigned char cmd)
  39. {
  40.         SPI_WriteByte(cmd,OLED_CMD);
  41. }
  42. /*************************************************************************/
  43. /*函數功能: 寫數據                                                        */
  44. /*************************************************************************/
  45. void WriteData(unsigned char data)
  46. {
  47.         SPI_WriteByte(data,OLED_DATA);
  48. }
復制代碼



20170607180030742.jpg (42.1 KB, 下載次數: 119)

20170607180030742.jpg

OLED.rar

9.34 KB, 下載次數: 14, 下載積分: 黑幣 -5


作者: 13958988573    時間: 2019-7-24 10:41
Spi.h
#define OLED_CMD 0   //命令聲明
#define OLED_DATA 1 //數據聲明

#define OLED_CLK         PAout(4)        // CLK時鐘         d0
#define OLED_MOSI         PAout(3)        // MOSI                d1
#define OLED_RST         PAout(2)        // RET復位        ret
#define OLED_DC          PAout(1)        // 命令|數據        dc        (0表傳輸命令1表傳輸數據)

void OLED_SPI_Init(void); //配置MCU的SPI
void SPI_WriteByte(uint8_t addr,uint8_t data); //向寄存器地址寫一個byte的數據
void WriteCmd(unsigned char cmd); //寫命令
void WriteDat(unsigned char data); //寫數據






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中文字幕国产日韩 | 国产精品美女久久久久aⅴ国产馆 | 天天夜碰日日摸日日澡 | 国产精品久久久久久妇女6080 | 成人av片在线观看 | 国产免费让你躁在线视频 | 日韩视频a| xnxx 日本免费| av毛片| 日韩av手机在线观看 | 国产一区二区在线播放 | 国产97在线视频 | 四虎永久影院 | 国产精品美女久久久久aⅴ国产馆 | 精品国产18久久久久久二百 | 欧美激情五月 | 激情av| 九九久久99 | 精品精品视频 | 午夜视频免费在线观看 | 一区二区三区四区国产 | 午夜国产一区 | 亚洲aⅴ| 午夜精品一区二区三区在线视频 | 久久久久久中文字幕 | 久久久久中文字幕 | 伊人久久免费视频 | www.操.com| 日韩免费视频一区二区 | 午夜视频在线播放 | 精品视频久久久久久 | 伊人二区 | 久久免费精品视频 | 青青久草 | 久久精品亚洲一区 | 黄色中文字幕 | 日本久久一区 | 国产日韩一区二区三区 | 69福利影院 | 网站黄色在线免费观看 | 久久久久久91香蕉国产 |