ES Program Dhyey
ES Program Dhyey
#include "stm32f4xx_hal.h"
void config(void);
# define RS GPIO_PIN_0
# define RW GPIO_PIN_1
# define EN GPIO_PIN_2
int main(void)
config();
while(1)
{
int cmd[] = {0x38,0x08,0x66,0x80};
char lcd_print[]="MECHATRONICS";
/* USER CODE END WHILE */
for(int i=0;i<4;i++){
lcd_cmd(cmd[i]);
}
for(int j=0;j<13;j++){
lcd_data(lcd_print[j]);
}
}
void lcd_cmd(int a){
GPIOD -> ODR = a;
HAL_GPIO_WritePin(GPIOC,RS,0);
HAL_GPIO_WritePin(GPIOC,RW,0);
HAL_GPIO_WritePin(GPIOC,EN,0);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOC,EN,1);
HAL_GPIO_WritePin(GPIOC,RS,1);
HAL_GPIO_WritePin(GPIOC,RW,0);
HAL_GPIO_WritePin(GPIOC,EN,1);
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOC,EN,0);
}
void config(void)
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,GPIO_PIN_RESET);
GPIO_InitTypeDef ok;
ok.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2;
ok.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOC, &ok);
ok.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
ok.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOD,&ok);
}
Push button
#include "stm32f4xx_hal.h"
void config(void);
GPIO_PinState push_b ;
int main(void)
config();
while(1)
push_b = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,push_b);
HAL_Delay(20);
void config(void)
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
GPIO_InitTypeDef ok;
Ok.Pin = GPIO_PIN_0;
ok.Mode = GPIO_MODE_INPUT;
HAL_GPIO_Init(GPIOA,&ok);
ok.Pin = GPIO_PIN_14;
ok.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOD,&ok);
}
DC Motor
#include "stm32f4xx_hal.h"
void config(void);
# define ENB GPIO_PIN_12
# define DIR1 GPIO_PIN_13
# define DIR2 GPIO_PIN_14
void forward(void);
void backward(void);
int main(void)
config();
while(1)
forward();
HAL_Delay(1000);
backward();
HAL_Delay(1000);
Void forward(void){
HAL_GPIO_WritePin(GPIOD,ENB ,1);
HAL_GPIO_WritePin(GPIOD,DIR1 ,1);
HAL_GPIO_WritePin(GPIOD,DIR2 ,0);
Void backard(void){
HAL_GPIO_WritePin(GPIOD,ENB ,1);
HAL_GPIO_WritePin(GPIOD,DIR1 ,0);
HAL_GPIO_WritePin(GPIOD,DIR2 ,1);
void config(void)
__HAL_RCC_GPIOD_CLK_ENABLE();
GPIO_InitTypeDef ok;
ok.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOD,&ok);
}
Stepper
#include "stm32f4xx_hal.h"
void config(void);
void forward(void);
void backward(void);
int main(void)
config();
while(1)
Forward();
HAL_Delay(1000);
Backward();
HAL_Delay(1000);
}
void forward(void){
for(uint16_t i = 0;i<=512;i++){
for(uint16_t x = 0;x<4;x++){
HAL_GPIO_WritePin(GPIOD,pin[x-1] ,0);
HAL_GPIO_WritePin(GPIOD,pin[x],1);
void backward(void){
for(uint16_t i = 0;i<=512;i++){
HAL_GPIO_WritePin(GPIOD,pin[x-1] ,0);
HAL_GPIO_WritePin(GPIOD,pin[x],1);
void config(void)
__HAL_RCC_GPIOD_CLK_ENABLE();
GPIO_InitTypeDef ok;
ok.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOD,&ok);