找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 729|回复: 0
打印 上一主题 下一主题
收起左侧

第三 四章-OLED使用 和串口openmv图像处理小车硬件介绍-(全网最详细)基于STM32智能...

[复制链接]
跳转到指定楼层
楼主
ID:668887 发表于 2024-8-17 14:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
第三章-OLED使用3.1-资料准备
我们先去下载这个OLED模块的资料这里我们下载:优信电子--0.96寸 OLED显示液晶屏模块 IIC液晶屏  四引脚
淘宝链接:
OLED资料链接:
0.96寸(4管脚)资料下载链接
找到我们要的历程--中景园电子0.96OLED显示屏_STM32F103C8_IIC_V1.0
3.2-相关知识
这个OLED是IIC协议,很多都是单片机模拟IIC和模块通信的,这个也是模拟IIC控制OLED的
我们先看一下这个历程所谓我们移植的时候替换相关初始化内容和GPIO置为函数就行
3.3-解决一些错误
把OLED文件复制过去添加组和包含文件选择添加路径编译一下--找不到sys.h 删掉sys.h 编译一下--把所有的u8都替换成uint8_t u32 替换成uint32_t编译报错 找不到uint8_t  包含一下#include "main.h"          解决有警告 声明加上void下面是一些GPIO的错误,我要解决初始化问题了
3.4-开始初始化OLED
先看原理图  SDA-PB12  SCL-PA15
然后我们开始初始两个GPIO为输出模式--上拉输出模式然后我们生成代码,更改一下IIC协议的GPIO设置,和初始化部分
#define OLED_SCLK_Clr() HAL_GPIO_WritePin(OLED_SCL_GPIO_Port, OLED_SCL_Pin, GPIO_PIN_RESET)//设置SCL低电平
#define OLED_SCLK_Set() HAL_GPIO_WritePin(OLED_SCL_GPIO_Port, OLED_SCL_Pin, GPIO_PIN_SET)//设置SCL高电平

#define OLED_SDIN_Clr() HAL_GPIO_WritePin(OLED_SDA_GPIO_Port,OLED_SDA_Pin,GPIO_PIN_RESET)//设置SDA低电平
#define OLED_SDIN_Set() HAL_GPIO_WritePin(OLED_SDA_GPIO_Port,OLED_SDA_Pin,GPIO_PIN_SET)//设置SDA高电平
下面delay函数出现报错 我们替换成HAL_Delay编译没有报错了,我们在主函数添加初始化和测试代码
  OLED_Init();          //初始化OLED  
  OLED_Clear();
  
        OLED_ShowCHinese(0,0,0);//中
        OLED_ShowCHinese(18,0,1);//景
        OLED_ShowCHinese(36,0,2);//园
        OLED_ShowCHinese(54,0,3);//电
        OLED_ShowCHinese(72,0,4);//子
        OLED_ShowCHinese(90,0,5);//科
        OLED_ShowCHinese(108,0,6);//技
烧录下载 现象OLED屏幕显示-中景园电子科技
第四章-串口实验(简单输出)
这里我们先初始化串口一、实现数据输出。
4.1-串口编写
软件初始化然后我们实现串口数据输出
方法一:
    uint8_t c_Data[] = "串口输出测试:好家伙VCC\r\n";
    HAL_UART_Transmit(&huart1,c_Data,sizeof(c_Data),0xFFFF);
    HAL_Delay(1000);
方法二:实现printf函数
打开微库
重定向fputc
/**
* @brief 重定向printf (重定向fputc),
                    使用时候记得勾选上魔法棒->Target->UseMicro LIB
                    可能需要在C文件加typedef struct __FILE FILE;
                    包含这个文件#include "stdio.h"
* @param
* @return
*/
int fputc(int ch,FILE *stream)
{
    HAL_UART_Transmit(&huart1,( uint8_t *)&ch,1,0xFFFF);
    return ch;
}
如果有错误在usart.c添加这个typedef struct __FILE FILE;添加一下测试(记得包含"stdio.h")
printf("printf:好家伙VCC测试\r\n");4.2-串口实验接线图
先烧录好,再连接串口查看现象
连接串口 可以使用  USB转TTL如CH340模块 或者 用DAP的串口功能
使用USB转TTL如CH340模块使用DAP然后我们打开串口助手,选择串口端口和波特率,就可以看到输出

蓝牙模块使用
蓝牙模式使用在后面章节讲解
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表