- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EmWin移植例程(完整)ili9320
ili9320_drive.c
#include ili9320_drive.h
#ifdef __cplusplus
extern C {
#endif
static void delay(__IO uint32_t nCount)
{
__IO uint32_t index = 0;
for(index = (100000 * nCount); index != 0; index--)
{
}
}
/**
* 函数功能:写数据
*
**/
void LCD_WR_DATA(uint16_t val)
{
LCD_RS_SET;
LCD_CS_CLR;
GPIOB-ODR = val;
LCD_WR_CLR;
LCD_WR_SET;
LCD_CS_SET; //关片选
}
/**
* 函数功能:写寄存器
*
**/
void LCD_WR_REG(uint16_t index)
{
LCD_RS_CLR;
LCD_CS_CLR;
GPIOB-ODR = index;
LCD_WR_CLR;
LCD_WR_SET;
LCD_CS_SET; //关片选
}
/**
* 函数功能:向寄存器中写入数据
* 形 参:reg:寄存器号 data:数据值
**/
void LCD_WR_REG_DATA(uint16_t reg,uint16_t data)
{
LCD_WR_REG(reg);
LCD_WR_DATA(data);
}
/**
* 函数功能:读数据
* 形 参:无
**/
uint16_t LCD_RD_DATA(void)
{
uint16_t val;
GPIOB-CRL=0 //PB0-7 上拉输入
GPIOB-CRH=0 //PB8-15 上拉输入
GPIOB-ODR=0X0000; //全部输出0
LCD_RS_SET;
LCD_CS_CLR;
//读取数据(读寄存器时,并不需要读2次)
LCD_RD_CLR;
val=GPIOB-IDR;
LCD_RD_SET;
LCD_CS_SET;
GPIOB-CRL=0 //PB0-7 上拉输出
GPIOB-CRH=0 //PB8-15 上拉输出
GPIOB-ODR=0XFFFF; //全部输出高
return val;
}
/**
* 函数功能:读寄存器里的数据
* 形 参:reg:寄存器号
**/
uint16_t LCD_RD_REG_DATA(uint16_t reg)
{
uint16_t value;
LCD_CS_CLR;
LCD_WR_REG(reg);
value = LCD_RD_DATA();
LCD_CS_SET;
return value;
}
void LCD_CtrlLinesConfig(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); //使能PORTB,C时钟和AFIO时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);//开启SWD,失能JTAG
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6; ///PORTC6~10复用推挽输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, GPIO_InitStructure); //GPIOC
GPIO_SetBits(GPIOC,GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; // PORTB推挽输出
GPIO_Init(GPIOB, GPIO_InitStructure);
文档评论(0)