8453|30

821

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【GD32L233C-START评测】六、SPI(硬件SPI驱动OLED) [复制链接]

 

        新年快乐、开工大吉!

        本次实验使用GD32L233CCT6的SPI通信接口驱动1.3' OLED显示屏。
一、实验资源
1、GD32L233C-START;
2、Keil V5.36.0.0;
3、1.3' OLED模块(自制)


二、知识准备

        GD32L233CCT6有两个SPI通信接口(SPI0、SPI1),SPI接口支持具有硬件CRC计算和校验的全双工和单工模式、可以工作于主机或从机模式,其中只有SPI0支持SPI四线主机模式。 

SPI应用中要注意在空闲状态下的时钟信号电平以及数据采样位置的配置,这些参数要结合被操作设备的具体要求进行确定。

三、实验内容

1、硬件连接

根据GD32L233C-START开发板已引出的端口情况及方便连接OLED模块,选择使用了SPI1模块。

 

2、程序实现

实验中用到的OLED模块主控使用的是“SH1106”,

static void spi_config(void)
{
#ifdef SPI_HARDWARE
	spi_parameter_struct  spi_init_struct;
	
	rcu_periph_clock_enable(RCU_GPIOB);
	rcu_periph_clock_enable(RCU_SPI1);

	spi_i2s_deinit(SPI1);
	spi_struct_para_init(&spi_init_struct);
	
	/* 配置OLED引脚: CS/PB10; DC/PB11; RES/PB14 */
	gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_10 | GPIO_PIN_11| GPIO_PIN_14);
	gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10 | GPIO_PIN_11| GPIO_PIN_14);
	
	/* 配置SPI1 SCK/PB13; MOSI/PB15 */
	gpio_af_set(GPIOB, GPIO_AF_6, GPIO_PIN_13 | GPIO_PIN_15);
	gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_13 | GPIO_PIN_15);
	gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13 | GPIO_PIN_15);

	spi_init_struct.trans_mode           = SPI_TRANSMODE_BDTRANSMIT;
	spi_init_struct.device_mode          = SPI_MASTER;
	spi_init_struct.frame_size           = SPI_FRAMESIZE_8BIT;
	spi_init_struct.clock_polarity_phase = SPI_CK_PL_LOW_PH_1EDGE; //CKPL=0;CKPH=1 
	//spi_init_struct.clock_polarity_phase = SPI_CK_PL_HIGH_PH_2EDGE;
	spi_init_struct.nss                  = SPI_NSS_SOFT;
	spi_init_struct.prescale             = SPI_PSC_8 ;
	spi_init_struct.endian               = SPI_ENDIAN_MSB;
	
	spi_init(SPI1, &spi_init_struct);

  spi_enable(SPI1);
#else
	rcu_periph_clock_enable(RCU_GPIOB);

	gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, OLED_PORT_IS);
	gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, OLED_PORT_IS);
	
#endif
}

程序兼容软件及硬件工作方式,SPI被配置为主机发送,仅向OLED发送数据。

 

3、实验结果

四、附件

附件为本次实验的完整工程,支持软件及硬件SPI。

游客,如果您要查看本帖隐藏内容请回复

 

 

此帖出自GD32 MCU论坛

最新回复

学习一下;谢谢分享。。。。   详情 回复 发表于 2024-11-20 16:10
点赞 关注
 

回复
举报

182

帖子

1

TA的资源

一粒金砂(高级)

沙发
 

此帖出自GD32 MCU论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

不错

此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 

是完整的SPI控制程序吗?

此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 

要顶一下

此帖出自GD32 MCU论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 

不错

此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 

学习一下

此帖出自GD32 MCU论坛
 
 
 

回复

539

帖子

1

TA的资源

纯净的硅(中级)

8
 
学习了,其他芯片也可以移植一下。
此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 

11111

此帖出自GD32 MCU论坛
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

10
 

谢谢分享,期待后续。

此帖出自GD32 MCU论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 

学习一下

 

此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
学习下
此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 

学习一下

此帖出自GD32 MCU论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

14
 
哈哈,好主意,谢谢大佬的肯定,好好好好好
此帖出自GD32 MCU论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

15
 
1234
此帖出自GD32 MCU论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

16
 
1234
此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

17
 

谢谢,试试看

此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

18
 

不错

此帖出自GD32 MCU论坛
 
 
 

回复

1633

帖子

0

TA的资源

五彩晶圆(初级)

19
 
很不错的资料,值得学习。赞一个。谢谢楼主分享!!
此帖出自GD32 MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

20
 

学习学习

此帖出自GD32 MCU论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表