STM32学习笔记【江科协】【4-2】OLED显示屏

 一共4行16列,可以看到两者相对应

接线图

 可以注意到接电源的GND和VCC同时和PB6、PB7号口连接,我们可以直接不初始化这两个引脚解决,因为STM32的引脚上电后,如果不初始化,默认是浮空输入的模式,在这个模式下,引脚不会输出电平,所以不会有什么影响,或者直接给PB6口输出低电平,PB7口输出高电平,用GPIO口直接给OLED供电,这个也是没问题的,因为OLED的功率很小这个也是可以驱动的,不过用GPIO口供电不是很规范,实际项目还是用电源供电


OLED函数模块

 提供的应用OLED的程序源码,复制到HARDWARE中(这里继承利用按键控制LED的程序模板)

小技巧,关闭除main.c的页面

 然后再HARDWARE处右键,添加已存在的文件

可以看到OLED.c文件里包括了引脚配置、引脚初始化、I2C通信的基本时序和OLED用户调用的代码等,我们需要更改的就是有两部分代码

 这里可以更改选择硬件电路上把SCL和SDA这两个引脚接在哪两个端口

与此同时还要更改下面初始化函数对应端口

这里把SCL和SDA的两个引脚都初始化为开漏输出的模式

OLED_Font.h文件,这里存的是OLED的字库函数,因为OLED显示屏是不带字库的,想要显示字符图形,还得先定义字符的点阵数据,OLED.c文件的显示函数会用到这些数据

字库也是不需要我们修改的

下面来使用下各种函数

OLED_Init();//初始化OLED

OLED_ShowChar(1, 1, 'A');  //用单引号括住单个字符
OLED_ShowString(1, 3, "Hello Wrold");//双引号括住字符串,简单计算下字符个数不要超出
OLED_ShowNum(2, 1, 12345,5);//第二行第一列开始显示12345
OLED_ShowNum(2, 1, 12345,6);//前面自动补0,显示012345
OLED_ShowNum(2, 1, 12345,4);//第四位长度参数比数字长度小,就会把高位数据切掉,即2345
OLED_ShowSignedNum(2, 7, -66, 2); //显示有符号十进制数字的函数
OLED_ShowHexNum(3, 1, 0XAA55, 4);//C语言不能写二进制的数,所以这里用十六进制来代替
OLED_ShowBinNum(4, 1, 0XAA55, 16);

OLED_Clear();//清屏函数,若只想清除部分字符,可以用OLED_ShowString在想清除的地方显示空格字符

keil的调试模式

点击魔术棒,在Debug这里可以对调试选项进行配置,这里默认是选择右边这一项,这个是在硬件上在线仿真,不想连接硬件,也可以选择左边使用仿真器这个选项,这里就是电脑模拟STM32运行了

然后点击这里放大镜里面带d的图标,进入调试模式,这个界面里,主窗口就是我们的C语言车程序,上面这个窗口就是C语言翻译成的汇编程序,可以对照这里,看下每句C语言实际都执行了哪些操作,左边的这个窗口就是寄存器组和状态标志位等信息,如果使用汇编编程的话,这些东西必须非常清楚,这个是单片机硬件底层很重要的东西

然后是上面图标含义

第一个是复位,第二个是全速运行,第三个是停止全速运行,第四个是单步运行、跳过当前行单步运行、跳出当前函数单步运行、跳到光标指定行单步运行

可以点击程序左边这里深灰色区域,设置断点,点全速运行,程序就会一直运行,直到断点停下,如果没有断点,再全速运行,程序就不会自动停下来,然后点击RST复位,程序就会回到最开始的地方

 点击复位后,可以看到,现在程序是在启动文件的复位中断函数里,说明复位后,程序是从这里开始执行的,点单步运行,首先会跳转到SystemInit函数里。继续运行,然后跳出函数,继续运行,应该就会执行main函数,停止一下,复位,然后指定到main函数,直接运行到当前行

这个方法可以精确追踪我们的程序是如何运行的,以上只是调试模式下的一小部分功能,调试模式还要更强大的功能

第一个是命令窗口,点击它可以打开或者关闭命令窗口,第二个是反汇编窗口,也是可以打开和关闭的,第三个是符号窗口,在这里可以事实查看程序中所有变量的值,剩下的还有串口显示、逻辑分析仪

可以点击外设菜单栏、系统资源查看,这里可以看到所有的外设寄存器,比如选择GPIOA,右边这里就会显示GPIOA外设的所有寄存器

这个在线调试的功能还非常强大的,STM32实时执行程序,keil软件实时显示外设寄存器状态,还能随时控制程序的开始、停止、单步运行,以后遇到一个比较难调的程序,比如不清楚程序是如何执行的,或者想看一大堆变量不方便显示,或者想看一下寄存器是不是配置正确了,都可以考虑使用下这个Keil自带的调试模式,注意的一点是要修改程序不能直接在这个调试模式下修改,得线退出调试模式,重新编译,再进入调试模式

可以点击这些按钮、菜单看看有啥功能,或百度搜索一下,各个功能咋用的,或者点击这里的帮助,第一项,这里可以打开keil软件的官方帮助文档,这个给帮助文档里有对这个,软件最权威最细致的介绍,对某个功能不熟悉的话,可以在这里找一找

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值