大学生
最后登录1970-1-1
在线时间 小时
注册时间2017-9-6
|
楼主 |
发表于 2017-10-19 11:56:10
|
显示全部楼层
void WriteLcdReg(unsigned char DataLong,unsigned char AddrReg,unsigned char *pData)
{
unsigned char i;
//RS485_TX_EN();
Delay_ms(1);
GPIO_SetBits(GPIOE, IO_DIR4);
Delay_ms(1);
SendBuf_LCD[0] = PROTOHD1; //帧头 2字节
SendBuf_LCD[1] = PROTOHD2;
SendBuf_LCD[2] = DataLong + 2; //数据长度 1字节
SendBuf_LCD[3] = WRREGCMD; //命令 1字节
SendBuf_LCD[4] = AddrReg;
for(i=0;i<DataLong;i++)
{
SendBuf_LCD[5+i] = *(pData++);
}
for(i=0;i<DataLong+5;i++)
{
USART_SendData(UART4, SendBuf_LCD);
/* 等待发送完毕 */
while (USART_GetFlagStatus(UART4, USART_FLAG_TXE) == RESET);
}
//RS485_RX_EN();
Delay_ms(1);
GPIO_ResetBits(GPIOE, IO_DIR4);
Delay_ms(1);
}
|
|