LCD Programming To Transmit a Character
#include "main.h“
/* USER CODE BEGIN PFP */
void data_write(uint8_t data);
void command_write(uint8_t command);
/* USER CODE END PFP */
int main(void)
/* USER CODE BEGIN 2 */
command_write(0x38); // 5×7 matrix and 8-bit operation
command_write(0x0e); // Display ON Cursor ON
command_write(0x1); //Clear display
command_write(0x80); //Cursor Position 1st ROW 1st Column
data_write('A');
/* USER CODE END 2 */
while (1);
/* USER CODE BEGIN 4 */
void data_write(uint8_t data)
{
GPIOA->ODR = data;
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, 1); //RS=1
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, 1); //E=1
HAL_Delay(10);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, 0); //E=0
HAL_Delay(50);
}
void command_write(uint8_t command)
{
GPIOA->ODR = command;
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, 0); //RS=0
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, 1); //E=1
HAL_Delay(10);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, 0); //E=0
HAL_Delay(50);
/* USER CODE END 4 */
LCD Programming To Transmit a String of Characters
#include "main.h“
/* USER CODE BEGIN PFP */
void data_write(uint8_t data);
void command_write(uint8_t command);
/* USER CODE END PFP */
int main(void)
/* USER CODE BEGIN 1 */
uint8_t i, v[4];
/* USER CODE END 1 */
/* USER CODE BEGIN 2 */
command_write(0x38); // 5×7 matrix and 8-bit operation
command_write(0x0e); // Display ON Cursor ON
command_write(0x1); //Clear display
command_write(0x80); //Cursor Position 1st ROW 1st Column
/* USER CODE END 2 */
for(i=0; i<4; i++)
{
data_write(v[i]);
while (1);