本文整理汇总了C++中LCD_CS_LOW函数的典型用法代码示例。如果您正苦于以下问题:C++ LCD_CS_LOW函数的具体用法?C++ LCD_CS_LOW怎么用?C++ LCD_CS_LOW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LCD_CS_LOW函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LCD_IO_ReadData
/**
* @brief Read register value.
* @param Reg
* @retval None
*/
uint16_t LCD_IO_ReadData(uint16_t Reg)
{
uint32_t readvalue = 0;
/* Change BaudRate Prescaler 8 for Read */
/* Mean SPI baudrate is set to 72/8 = 9 MHz */
heval_Spi.Instance->CR1 &= 0xFFC7;
heval_Spi.Instance->CR1 |= SPI_BAUDRATEPRESCALER_8;
/* Send Reg value to Read */
LCD_IO_WriteReg(Reg);
/* Reset LCD control line(/CS) and Send command */
LCD_CS_LOW();
/* Send Start Byte */
SPIx_Write(START_BYTE | LCD_READ_REG);
/* Read Upper Byte */
SPIx_Write(0xFF);
readvalue = SPIx_Read();
readvalue = readvalue << 8;
readvalue |= SPIx_Read();
/* Recover Baud Rate initial value */
heval_Spi.Instance->CR1 &= 0xFFC7;
heval_Spi.Instance->CR1 |= heval_Spi.Init.BaudRatePrescaler;
HAL_Delay(10);
/* Deselect : Chip Select high */
LCD_CS_HIGH();
return readvalue;
}
示例2: LCD_IO_ReadData
/**
* @brief Read register value.
* @param Reg
* @retval None
*/
uint16_t LCD_IO_ReadData(uint16_t Reg)
{
uint32_t readvalue = 0;
/* Send Reg value to Read */
LCD_IO_WriteReg(Reg);
/* Reset LCD control line(/CS) and Send command */
LCD_CS_LOW();
/* Send Start Byte */
SPIx_Write(START_BYTE | LCD_READ_REG);
/* Read Upper Byte */
SPIx_Write(0xFF);
readvalue = SPIx_Read();
readvalue = readvalue << 8;
readvalue |= SPIx_Read();
HAL_Delay(10);
/* Deselect : Chip Select high */
LCD_CS_HIGH();
return readvalue;
}
示例3: LCD_IO_WriteData
/**
* @brief Write register value.
* @param pData Pointer on the register value
* @param Size Size of byte to transmit to the register
* @retval None
*/
void LCD_IO_WriteData(uint8_t *pData, uint32_t Size)
{
uint32_t counter = 0;
/* Reset LCD control line CS */
LCD_CS_LOW();
/* Send Start Byte */
SPIx_Write(START_BYTE | LCD_WRITE_REG);
for (counter = Size; counter != 0; counter--)
{
while(((heval_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE)
{
}
/* Need to invert bytes for LCD*/
*((__IO uint8_t*)&heval_Spi.Instance->DR) = *(pData+1);
while(((heval_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE)
{
}
*((__IO uint8_t*)&heval_Spi.Instance->DR) = *pData;
counter--;
pData += 2;
}
/* Wait until the bus is ready before releasing Chip select */
while(((heval_Spi.Instance->SR) & SPI_FLAG_BSY) != RESET)
{
}
/* Deselect : Chip Select high */
LCD_CS_HIGH();
}
示例4: LCD_IO_WriteReg
/**
* @brief Writes register address.
*/
void LCD_IO_WriteReg(uint8_t Reg)
{
/* Reset WRX to send command */
LCD_WRX_LOW();
/* Reset LCD control line(/CS) and Send command */
LCD_CS_LOW();
SPIx_Write(Reg);
/* Deselect: Chip Select high */
LCD_CS_HIGH();
}
示例5: LCD_IO_WriteData
/**
* @brief Writes register value.
*/
void LCD_IO_WriteData(uint16_t RegValue)
{
/* Set WRX to send data */
LCD_WRX_HIGH();
/* Reset LCD control line(/CS) and Send data */
LCD_CS_LOW();
SPIx_Write(RegValue);
/* Deselect: Chip Select high */
LCD_CS_HIGH();
}
示例6: LCD_IO_WriteMultipleData
/**
* @brief Write register value.
* @param pData Pointer on the register value
* @param Size Size of byte to transmit to the register
* @retval None
*/
void LCD_IO_WriteMultipleData(uint8_t *pData, uint32_t Size)
{
uint32_t counter = 0;
__IO uint32_t data = 0;
/* Reset LCD control line CS */
LCD_CS_LOW();
/* Set LCD data/command line DC to High */
LCD_DC_HIGH();
if (Size == 1)
{
/* Only 1 byte to be sent to LCD - general interface can be used */
/* Send Data */
SPIx_Write(*pData);
}
else
{
/* Several data should be sent in a raw */
/* Direct SPI accesses for optimization */
for (counter = Size; counter != 0; counter--)
{
while(((hnucleo_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE)
{
}
/* Need to invert bytes for LCD*/
*((__IO uint8_t*)&hnucleo_Spi.Instance->DR) = *(pData+1);
while(((hnucleo_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE)
{
}
*((__IO uint8_t*)&hnucleo_Spi.Instance->DR) = *pData;
counter--;
pData += 2;
}
/* Wait until the bus is ready before releasing Chip select */
while(((hnucleo_Spi.Instance->SR) & SPI_FLAG_BSY) != RESET)
{
}
}
/* Empty the Rx fifo */
data = *(&hnucleo_Spi.Instance->DR);
UNUSED(data); /* Remove GNU warning */
/* Deselect : Chip Select high */
LCD_CS_HIGH();
}
示例7: LCD_IO_WriteReg
/**
* @brief Writes command to select the LCD register.
* @param LCDReg: Address of the selected register.
* @retval None
*/
void LCD_IO_WriteReg(uint8_t LCDReg)
{
/* Reset LCD control line CS */
LCD_CS_LOW();
/* Set LCD data/command line DC to Low */
LCD_DC_LOW();
/* Send Command */
SPIx_Write(LCDReg);
/* Deselect : Chip Select high */
LCD_CS_HIGH();
}
示例8: lcd_write_data
void lcd_write_data(unsigned char data)
{
OS_CPU_SR_ALLOC();
OS_ENTER_CRITICAL();
LCD_RS_HIGH();
LCD_CS_LOW();
lcd_send_byte(data);
LCD_CS_HIGH();
OS_EXIT_CRITICAL();
}
示例9: lcd_write_cmd
void lcd_write_cmd(unsigned char cmd)
{
OS_CPU_SR_ALLOC();
OS_ENTER_CRITICAL();
LCD_RS_LOW();
LCD_CS_LOW();
lcd_send_byte(cmd);
LCD_CS_HIGH();
OS_EXIT_CRITICAL();
}
示例10: LCD_IO_WriteData
/**
* @brief Writes data to select the LCD register.
* This function must be used after st7735_WriteReg() function
* @param Data: data to write to the selected register.
* @retval None
*/
void LCD_IO_WriteData(uint8_t Data)
{
/* Reset LCD control line CS */
LCD_CS_LOW();
/* Set LCD data/command line DC to High */
LCD_DC_HIGH();
/* Send Data */
SPIx_Write(Data);
/* Deselect : Chip Select high */
LCD_CS_HIGH();
}
示例11: LCD_IO_WriteReg
/**
* @brief register address.
* @param Reg
* @retval None
*/
void LCD_IO_WriteReg(uint8_t Reg)
{
/* Reset LCD control line(/CS) and Send command */
LCD_CS_LOW();
/* Send Start Byte */
SPIx_Write(START_BYTE | SET_INDEX);
/* Write 16-bit Reg Index (High Byte is 0) */
SPIx_Write(0x00);
SPIx_Write(Reg);
/* Deselect : Chip Select high */
LCD_CS_HIGH();
}
示例12: LCD_IO_WriteMultipleData
/**
* @brief Write register value.
* @param pData Pointer on the register value
* @param Size Size of byte to transmit to the register
* @retval None
*/
void LCD_IO_WriteMultipleData(uint8_t *pData, uint32_t Size)
{
uint32_t counter = 0;
__IO uint32_t data = 0;
/* Reset LCD control line(/CS) and Send data */
LCD_CS_LOW();
/* Send Start Byte */
SPIx_Write(START_BYTE | LCD_WRITE_REG);
if (Size == 1)
{
/* Only 1 byte to be sent to LCD - general interface can be used */
/* Send Data */
SPIx_Write(*pData);
}
else
{
for (counter = Size; counter != 0; counter--)
{
while(((heval_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE)
{
}
/* Need to invert bytes for LCD*/
*((__IO uint8_t*)&heval_Spi.Instance->DR) = *(pData+1);
while(((heval_Spi.Instance->SR) & SPI_FLAG_TXE) != SPI_FLAG_TXE)
{
}
*((__IO uint8_t*)&heval_Spi.Instance->DR) = *pData;
counter--;
pData += 2;
}
/* Wait until the bus is ready before releasing Chip select */
while(((heval_Spi.Instance->SR) & SPI_FLAG_BSY) != RESET)
{
}
}
/* Empty the Rx fifo */
data = *(&heval_Spi.Instance->DR);
UNUSED(data); /* Remove GNU warning */
/* Reset LCD control line(/CS) and Send data */
LCD_CS_HIGH();
}
示例13: LCD_SendByte
void LCD_SendByte(unsigned char a)
{
unsigned char i,d;
LCD_CS_HIGH();
LCD_SIO_OUT();
for(i=0;i<8;i++)
{
LCD_SCK_LOW(); //clrbit(LCD_CTRL,E);
d = a&0x80;
if(d)
LCD_SIO_HIGH(); //setbit(LCD_CTRL,RW);
else
LCD_SIO_LOW(); //clrbit(LCD_CTRL,RW);
a<<=1;
LCD_SCK_HIGH(); //setbit(LCD_CTRL,E); //上升弦发送
}
LCD_CS_LOW();
}
示例14: LCDSend
void LCDSend(unsigned char data, unsigned char cd)
{
LCD_CS_LOW();
if (cd == SEND_CHR)
{
LCD_DC_HIGH();
}
else
{
LCD_DC_LOW();
}
// send data over SPI
SEND_BYTE_SPI();
LCD_CS_HIGH();
}
示例15: LCD_IO_Init
/**
* @brief Configures the LCD_SPI interface.
* @param None
* @retval None
*/
void LCD_IO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
/* Configure the LCD Control pins ------------------------------------------*/
LCD_NCS_GPIO_CLK_ENABLE();
/* Configure NCS in Output Push-Pull mode */
GPIO_InitStruct.Pin = LCD_NCS_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW ;
HAL_GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStruct);
/* Set or Reset the control line */
LCD_CS_LOW();
LCD_CS_HIGH();
SPIx_Init();
}