STM32单片机入门教程---OLED调试工具

调试方式

  • 串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息;
    (可以借助电脑显示参数、曲线、图像等,还可以制作软件实现用户交互界面)
  • 显示屏调试:直接将显示屏连接到单片机,将调试信息打印到显示屏上;
    (对于不断变化的数据可以覆盖刷新显示,显示方式直接,并且显示屏可以当作人机交互界面)
  • Keil调试模式:借助Keil的调试模式,可使用单步运行、
    设置断点、查看寄存器及变量等功能;

【测试程序的基本思想就是缩小范围、控制变量、对比测试】

OLED简介

  • OLED(Organic Light Emitting Diode):有机发光二极管;
  • OLED显示屏:性能优异的新型显示屏,具有功耗低、响应速度快、宽视角、轻薄柔韧等特点;
  • 0.96寸OLED模块小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块;
  • 供电:3~5.5V,通信协议:I2C/SPI,分辨率:128*64;在这里插入图片描述

硬件电路

4针脚OLED

SCL和SDA是I2C的通信引脚,要接在单片机I2C通信引脚上;
在这里插入图片描述

7针脚OLED

SPI通信协议引脚在这里插入图片描述

OLED驱动函数

驱动函数表

在这里插入图片描述

屏幕坐标图

屏幕被分成4行16列的小区块
在这里插入图片描述

代码部分

接线图

相关代码

  • 主要文件
    OLED_Fonth里面是OLED的字模库,一般不需要修改;在这里插入图片描述
  • 使用OLED驱动函数时只要配置引脚即可;
    【如果想修改引脚,注意“引脚初始化”中的结构体引脚参数也需要对应修改,这里默认的是GPIOB的8号引脚和9号引脚】
#include "stm32f10x.h"
#include "OLED_Font.h"

/*引脚配置*/
#define OLED_W_SCL(x)		GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x))
#define OLED_W_SDA(x)		GPIO_WriteBit(GPIOB, GPIO_Pin_9, (BitAction)(x))

  • 头文件
#ifndef __OLED_H
#define __OLED_H

void OLED_Init(void);
void OLED_Clear(void);
void OLED_ShowChar(uint8_t Line, uint8_t Column, char Char);
void OLED_ShowString(uint8_t Line, uint8_t Column, char *String);
void OLED_ShowNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);
void OLED_ShowSignedNum(uint8_t Line, uint8_t Column, int32_t Number, uint8_t Length);
void OLED_ShowHexNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);
void OLED_ShowBinNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);

#endif

调试

进入调试

点击Keil中的放大镜图标
在这里插入图片描述

调试界面

  • 主窗口是C语言程序,上面的窗口是汇编程序,左边的窗口是寄存器组和状态标志位等信息,黄色箭头指的是下一句将要执行的代码在这里插入图片描述

  • 程序控制的,分别是复位、全速运行、停止全速运行、单步运行、跳过当前行单步运行、跳出当前函数单步运行、跳到光标指定行单步运行单步运行

  • 功能区:
    命令窗口:打开和关闭命令窗口;
    反汇编窗口
    符号窗口:可以实时查看程序中所有变量的值,对某一变量右键添加到watch窗口可以观察该变量值的变化;
    串口显示
    逻辑分析仪
    在这里插入图片描述

  • 实时观察寄存器
    在这里插入图片描述

  • 注意:修改程序需要退出调试模式,重新编译后再进入调试程序;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值