当前位置:   article > 正文

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

江大科协stm32

 一共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文件的显示函数会用到这些数据

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

下面来使用下各种函数

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

keil的调试模式

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

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

然后是上面图标含义

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

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

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

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

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

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

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

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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/676733
推荐阅读
相关标签
  

闽ICP备14008679号