参考学习资料 单片机 nucleo_tutorial8.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

NUCLEO教程之八:亮屏

编译:netlhx

今天来做个比较复杂一点的。

用到的硬件如下:

这是个串口屏,需要用到SPI接口。

SPI外设

SPI是串行通信的一种,与UART类似。不过SPI一般是同步的,而UART可以是同步,也可以是异

步。与UART一样,它也可以有效的节省通信线路。

•MOSI主设备输出/从设置输入管脚,该管脚在主模式下发送数据,在从模式下接受数据主设备输

入/从设备输出管脚,该管脚在从模式下发送数据,在主模式下接收数据

•MISO主设备输入/从设备输出管脚,该管脚在从模式下发送数据,在主模式下接收数据

•SCK同步时钟

•NSS从设置选择,这是一个可选的管脚,用来选择主/从设置,他的功能是用来作为片选管脚,

让主设备可以单独的与特定从设备通讯,避免数据线上的冲突,从设备的NSS管脚可以由主设

备当做一个标准的IO来驱动。可以是硬件或软件来实现。

用来控制LCD的话,一般我们主要用于向LCD输出信息,所以只要用到MOSI即可。下面是配置信息:

接下来配置SPI的工作参数:

这样,SPI的配置就差不多了。

LCD控制器

一般来说,点屏的话需要参考如下资料

•数据手册

•硬件原理图

下面语句指明了各引脚的连接方式:

#defineLCD_RESET_CLEARHAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET)

#defineLCD_RESET_SETHAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET)

#defineLCD_CS_CLEARHAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_RESET)

#defineLCD_CS_SETHAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET)

#defineLCD_DC_CLEARHAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,GPIO_PIN_RESET)

#defineLCD_DC_SETHAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,GPIO_PIN_SET)

向控制器写入数据分为两种:命令及参数。当然有些命令还带返回值,这里都忽略了。

需要注意的是ILI9341中的数据,一般都是8位的,但是颜色数据都是16位的。

LCD命令及数据函数如下:

voidLCD_Write_Cmd(uint8_tcmd)

{

LCD_CS_CLEAR;

LCD_DC_CLEAR;

HAL_SPI_Transmit(hspi1,cmd,1,500);

LCD_CS_SET;

}

voidLCD_Write_Dat(uint8_tdat)

{

LCD_CS_CLEAR;

LCD_DC_SET;

HAL_SPI_Transmit(hspi1,dat,1,500);

LCD_CS_SET;

}

voidLCD_Write_Color(uint16_tcolor)

{

uint8_tdat;

LCD_CS_CLEAR;

LCD_DC_SET;

dat=color8;

HAL_SPI_Transmit(hspi1,dat,1,50);

dat=color0xFF;

HAL_SPI_Transmit(hspi1,dat,1,50);

LCD_CS_SET;

}

有了这几个基本的函数,就可以来操控LCD了,如初始化、写入文本、图形等信息。详情请参考代码。

显示效果

下面有几张显示效果。

文档评论(0)

工地殿小二 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档