STM32F103-OLED屏幕不显示的可能原因分析

硬件平台:

        轮趣科技F103C8T6核心板

问题描述:

        在复现平衡小车的过程中,尝试读取编码器数据并在OLED上显示;调用OLED的API函数后发现无论如何都不显示。

问题解决:

        仔细翻看,对比官方源码后,添加如下函数代码后成功显示。

在mian函数初始化部分添加:

	JTAG_Set(JTAG_SWD_DISABLE);     
	JTAG_Set(SWD_ENABLE);          

对应的宏定义:

#define JTAG_SWD_DISABLE   0X02
#define SWD_ENABLE         0X01
#define JTAG_SWD_ENABLE    0X00	

对应的函数内容:

void JTAG_Set(u8 mode)
{
	u32 temp;
	temp=mode;
	temp<<=25;
	RCC->APB2ENR|=1<<0;     //开启辅助时钟	   
	AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24]
	AFIO->MAPR|=temp;       //设置jtag模式
} 

问题出现的原因:

        OLED使用了A15,B3,B4,B5这四个IO,其中PB3,PB4为系统接口,需要进行以上设置才可以作为普通IO口使用。

参考:

(2条消息) STM32之JTAG、SWD模式_weixin_30721899的博客-CSDN博客

物联沃分享整理
物联沃-IOTWORD物联网 » STM32F103-OLED屏幕不显示的可能原因分析

发表评论