切换到宽版
  • 16021阅读
  • 16回复

[STM]STM32 CubeMX HAL库硬件IIC SPI  驱动SSD1306OLED [复制链接]

上一主题 下一主题
离线lyy-cy
 

发帖
326
M币
4
专家
9
粉丝
26
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-05-10
买了两块OLED只是为了学习协议。建议大家用这种OLED来学IIC和SPI协议。
网上资料多。我是软件模拟IIC调通了后,调的硬件协议。


驱动芯片一样,只是通讯接口不同  IIC
  1. //硬件接口,底层,更换单片机或引脚只需要改这两个----这个是IIC
  2. void OLED_WR_Byte(uint8_t dat,uint8_t isCMD)
  3. {
  4.     if(isCMD == 1)
  5.     {
  6.         HAL_I2C_Mem_Write(&hi2c2,OLED_ADDRESS,0x40,I2C_MEMADD_SIZE_8BIT,&dat,1,100);
  7.     }
  8.     else
  9.     {
  10.         HAL_I2C_Mem_Write(&hi2c2,OLED_ADDRESS,0x00,I2C_MEMADD_SIZE_8BIT,&dat,1,100);
  11.     }
  12. }
  13. //初始化SSD1306                        
  14. void OLED_Init(void)
  15. {
  16. //    OLED_RST(0);    //SPI这里打开
  17. //    HAL_Delay(100);  
  18. //    OLED_RST(1);
SPI ,要多一根线来控制数据或命令的写入。而且RST也是需要的。引脚多,但明显刷新速度快。

  1. //////////////////////////////////////////////////////////////////////////////////    
  2. //硬件接口,底层,更换单片机或引脚只需要改这两个
  3. void OLED_WR_Byte(u8 dat,u8 isCMD)
  4. {          
  5. /*    if(isCMD)
  6.       OLED_DC(1);    //是命令DC高电平
  7.     else
  8.       OLED_DC(0);    //是命令DC高电平
  9. */
  10.     isCMD? OLED_DC(1):OLED_DC(0);  //是命令DC高电平
  11.     
  12.     HAL_SPI_Transmit(&hspi1,&dat, 1, 100);      
  13. }
  14. //初始化SSD1306                        
  15. void OLED_Init(void)
  16. {
  17.     OLED_RST(0);    
  18.     HAL_Delay(100);  
  19.     OLED_RST(1);


总结一下:
  • IIC通过先写  0x40  0x00  来区分是命令还是数据。
  • SPI 通过D/C 引脚来区分命令还是数据。
  • STM32的硬件IIC是可以的,网上有反驳说它不行的文章,试了,真的可以。
  • 3.3V驱动没问题,同时两块都没问题。


本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共7条打赏M币+147专家+2
花生仔 M币 +13 謝謝分享 2018-05-31
数码家园 M币 +13 - 2018-05-11
keye M币 +1 謝謝分享,好好 2018-05-11
發騷友 专家 +1 以資鼓勵 2018-05-10
發騷友 M币 +100 以資鼓勵 2018-05-10
2545889167 专家 +1 大神可厉害了,膜拜 2018-05-10
2545889167 M币 +20 大神可厉害了,膜拜 2018-05-10
离线lyy-cy

发帖
326
M币
4
专家
9
粉丝
26
只看该作者 1楼 发表于: 2018-05-10
顺便把以前买的ST7565也点亮了。
请登录后查看
[ 此帖被lyy-cy在2018-05-14 16:36重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共1条打赏M币+13
花生仔 M币 +13 謝謝分享 2018-05-31
离线触景情伤

发帖
3862
M币
28
专家
4
粉丝
70
只看该作者 2楼 发表于: 2018-05-10
离线2545889167

发帖
13268
M币
20754
专家
302
粉丝
4860
只看该作者 3楼 发表于: 2018-05-10
请登录后查看
离线renpeng009

发帖
324
M币
3196
专家
9
粉丝
47
只看该作者 4楼 发表于: 2018-05-10
Re:STM32 CubeMX HAL库硬件IIC SPI焀动SSD1306OLED
请登录后查看
离线se7ens

发帖
1560
M币
3127
专家
1
粉丝
25
只看该作者 5楼 发表于: 2018-05-11
请登录后查看
离线keye

发帖
1769
M币
5395
专家
3
粉丝
48
只看该作者 6楼 发表于: 2018-05-11
请登录后查看
离线chenghelin

发帖
644
M币
775
专家
2
粉丝
16
只看该作者 7楼 发表于: 2018-05-13
回 se7ens 的帖子
请登录后查看
离线小茅

发帖
2304
M币
1611
专家
6
粉丝
40
只看该作者 8楼 发表于: 2018-05-14
请登录后查看
离线sjy759

发帖
1
M币
-497
专家
0
粉丝
0
只看该作者 9楼 发表于: 2018-07-29
回 lyy-cy 的帖子
请登录后查看
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个