你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于NUCLEO-F722ZE开发板的OLED屏显示

[复制链接]
jinglixixi 发布时间:2017-3-10 17:32
    对于F722ZE这样的开发板,若不为它配置需要的显示器件就只能靠串口来进行人机交互。为此想先为它配上一个物美价廉的显示器件,于是便选中了双色OLED屏,别看它尺寸小,却不必LCD5110这样的器件逊色,至少俺们也是双色的料呀!
此外,它占用GPIO口少,尤其是采用IIC接口的OLED屏,只有2GPIO口即可。另外还有一个好处就是无需连线和制作扩展板,只需将OLED屏对应地插入板载的Arduino 接口即可,详细位置如图1所示。
图片1.png
1 OLED屏与F722ZE配合
参照先前在F412上的OLED屏程序,决定移植到F722上。由于F412的主频只有100MHz,而F722的主频则是216MHz,心理不由得有些发虚。结果是折腾了一天也没成功。此时才想起了F767,看了看两者的主频都是216MHz,就倒了以前的帖子,想起在F767做过OLED屏的显示程序。下载试了试不行,才把疑点落到下载用的USB线上,更换后果然OLED屏亮了。
图片2.png
2 OLED屏与F767ZI配合
然后再下载F722上的移植程序也能显示了,原来是USB线引起的一场虚惊。后来索性在F767的程序上将芯片类型及下载算法改为F722的一试,也一样是成功的。所以基本上可以得出这样的结论,在无硬件使用差异的情况下,F767上的程序基本上可以放到F722上来用,可以省去不同类型芯片间的程序移植过程。
做了一圈,仿佛又回到了原点!
OLED屏与F722的连接关系为:
SCL--PA5            SDA--PA6
OLED屏输出高低电平的定义语句如下:
#define OLED_SCLK_Clr() HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
#define OLED_SCLK_Set() HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
#define OLED_SDIN_Clr() HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET);
#define OLED_SDIN_Set() HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET);
OLED屏的初始化函数为:
  1. void OLED_Init(void)
  2. {
  3. GPIO_InitTypeDef GPIO_Initure;
  4. __HAL_RCC_GPIOA_CLK_ENABLE();
  5. GPIO_Initure.Pin=GPIO_PIN_6|GPIO_PIN_5;      
  6. GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;  
  7. GPIO_Initure.Pull=GPIO_PULLUP;         
  8. GPIO_Initure.Speed=GPIO_SPEED_HIGH;  
  9. HAL_GPIO_Init(GPIOA,&GPIO_Initure);     
  10. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET);
  11. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);         
  12. OLED_SCLK_Set();
  13. OLED_SDIN_Set();
  14. Delay_1ms(800);            
  15. OLED_WR_Byte(0xAE,OLED_CMD);
  16. OLED_WR_Byte(0x00,OLED_CMD);
  17. OLED_WR_Byte(0x10,OLED_CMD);
  18. OLED_WR_Byte(0x40,OLED_CMD);  
  19. OLED_WR_Byte(0xB0,OLED_CMD);
  20. OLED_WR_Byte(0x81,OLED_CMD);
  21. OLED_WR_Byte(0xFF,OLED_CMD);   
  22. OLED_WR_Byte(0xA1,OLED_CMD);
  23. OLED_WR_Byte(0xA6,OLED_CMD);
  24. OLED_WR_Byte(0xA8,OLED_CMD);
  25. OLED_WR_Byte(0x3F,OLED_CMD);
  26. OLED_WR_Byte(0xC8,OLED_CMD);
  27. OLED_WR_Byte(0xD3,OLED_CMD);
  28. OLED_WR_Byte(0x00,OLED_CMD);
  29. OLED_WR_Byte(0xD5,OLED_CMD);
  30. OLED_WR_Byte(0x80,OLED_CMD);
  31. OLED_WR_Byte(0xD8,OLED_CMD);
  32. OLED_WR_Byte(0x05,OLED_CMD);
  33. OLED_WR_Byte(0xD9,OLED_CMD);
  34. OLED_WR_Byte(0xF1,OLED_CMD);
  35. OLED_WR_Byte(0xDA,OLED_CMD);
  36. OLED_WR_Byte(0x12,OLED_CMD);
  37. OLED_WR_Byte(0xDB,OLED_CMD);
  38. OLED_WR_Byte(0x30,OLED_CMD);
  39. OLED_WR_Byte(0x8D,OLED_CMD);
  40. OLED_WR_Byte(0x14,OLED_CMD);
  41. OLED_WR_Byte(0xAF,OLED_CMD);
  42. }
复制代码

实现界面显示的函数为:
  1. void cd2()
  2. { OLED_Clear();
  3. OLED_ShowCHinese(18,0,0);  
  4. OLED_ShowCHinese(36,0,1);  
  5. OLED_ShowCHinese(54,0,2);  
  6. OLED_ShowCHinese(72,0,3);  
  7. OLED_ShowCHinese(90,0,4);
  8. OLED_ShowCHinese(0,2,0);   
  9. OLED_ShowCHinese(18,2,2);
  10. OLED_ShowString(36,2,":20",16);
  11. OLED_ShowCHinese(68,2,6);
  12. OLED_ShowCHinese(86,2,7);
  13. OLED_ShowString(104,2,":20",16);
  14. OLED_ShowCHinese(0,4,1);   
  15. OLED_ShowCHinese(18,4,2);
  16. OLED_ShowString(36,4,":10",16);
  17. OLED_ShowCHinese(68,4,6);   
  18. OLED_ShowCHinese(86,4,7);
  19. OLED_ShowString(104,4,":30",16);
  20. OLED_ShowCHinese(0,6,8);  
  21. OLED_ShowCHinese(18,6,9);  
  22. OLED_ShowString(36,6,":",16);
  23. }
复制代码


评分

参与人数 1 ST金币 +20 收起 理由
zero99 + 20

查看全部评分

收藏 1 评论4 发布时间:2017-3-10 17:32

举报

4个回答
海迹天涯 回答时间:2017-3-10 17:49:31
多谢分享
donatello1996 回答时间:2017-3-10 21:15:42
楼主说767程序能不经修改直接移植到722上面,说明F7系列不同型号的程序配置已经尽可能减少差异了。
epochal 回答时间:2017-3-10 22:23:05
好内容!
jinglixixi 回答时间:2017-3-11 17:03:06
donatello1996 发表于 2017-3-10 21:15
楼主说767程序能不经修改直接移植到722上面,说明F7系列不同型号的程序配置已经尽可能减少差异了。 ...

基本上是这样,且F412与F413之间也基本上是可以的,当然硬件不存在的除外。

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版