Uint8 - T Uint8 - T Void Void Static Void Void Static Void Void Static Void Void Int Void Uint16 - T
Uint8 - T Uint8 - T Void Void Static Void Void Static Void Void Static Void Void Int Void Uint16 - T
h"
#define BUFFER_LEN 1
ADC_HandleTypeDef hadc1;
UART_HandleTypeDef huart1;
uint8_t RX_BUFFER[BUFFER_LEN] = {0};
uint8_t TX_BUFFER[BUFFER_LEN] = {0};
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_ADC1_Init(void);
static void MX_USART1_UART_Init(void);
int main(void)
{
uint16_t AD_RES = 0;
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_ADC1_Init();
MX_USART1_UART_Init();
HAL_UART_Receive_IT(&huart1, RX_BUFFER, BUFFER_LEN);
while (1)
{
// Start ADC Conversion
HAL_ADC_Start(&hadc1);
// Poll ADC1 Perihperal & TimeOut = 1mSec
HAL_ADC_PollForConversion(&hadc1, 1);
// Read The ADC Conversion Result & Map It To PWM DutyCycle
AD_RES = HAL_ADC_GetValue(&hadc1);
TX_BUFFER[0] = AD_RES>>4;
HAL_UART_Transmit(&huart1, TX_BUFFER, sizeof(TX_BUFFER), 100);
HAL_Delay(25);
}
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart->Instance == huart1.Instance)
{
if(RX_BUFFER[0] == '1')
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, 1);
}
else if(RX_BUFFER[0] == '0')
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, 0);
}
HAL_UART_Receive_IT(&huart1, RX_BUFFER, BUFFER_LEN);
}
}