⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mc_stm8s_display.c

📁 STM8S105 BLDC源代码
💻 C
字号:
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : MC_stm8s_display.c
* Author             : IMS Systems Lab 
* Date First Issued  : mm/dd/yyy
* Description        : Low level management of textual display
********************************************************************************
* History:
* mm/dd/yyyy ver. x.y.z
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* THIS SOURCE CODE IS PROTECTED BY A LICENSE.
* FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
* IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
*******************************************************************************/

/******************************************************************************/
#include "MC_dev_lcd.h"
#include "MC_dev_display.h"

/* Global private vars ********************************************************/
static pu8 pbuffer;
static u16 bufferSize;

/******************************************************************************/
void dev_displayInit(pvdev_device_t pdevice)
{
	u16 i;
	// Display buffer and size 
	pbuffer = pdevice->mems.m8;
	bufferSize = pdevice->mems.m8size;
	
	/* Initialize SPI */
	SPI_DeInit();
	/* Set frequency to fcpu/32 */
	SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_32, SPI_MODE_MASTER,
						SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_1LINE_TX,
						SPI_NSS_SOFT, 0x07);
	SPI_Cmd(ENABLE);

	/* Wait 40ms */
	for (i=0; i<40000; i++)
	{
		/* Wait */
	}

	/* Initialize LCD */
	LCD_Init();
	
	dev_displayClear();
}

void dev_displayClear(void)
{
	LCD_Clear();
}

void dev_displayFlush(void)
{
	static u8 i;
	// Clear LCD lines 
	LCD_Clear();
	
	LCD_SetCursorPos(LCD_LINE1,0);
	for (i=0;i<15;i++)
	{
		LCD_PrintChar(pbuffer[i]);
	}
	LCD_SetCursorPos(LCD_LINE2,0);
	for (i=0;i<15;i++)
	{
		LCD_PrintChar(pbuffer[i+15]);
	}
}

void dev_displayPrintch()
{
	if (pbuffer[DISPLAYLINE_ADDR] == 1)
	{
		LCD_SetCursorPos(LCD_LINE1,(u8)(pbuffer[DISPLAYPOS_ADDR] >> 1));
	}
	else
	{
		LCD_SetCursorPos(LCD_LINE2,(u8)(pbuffer[DISPLAYPOS_ADDR] >> 1));
	}
	LCD_PrintChar(pbuffer[DISPLAYCH_ADDR]);
}

/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -