Files

69 lines
1.8 KiB
C
Raw Permalink Normal View History

#include "app_test.h"
uint8_t rx_buf[32]; // RS485 receive buffer
uint8_t rs_rx_flag = 0; // RS485 receive flag
uint8_t rs_rx_len; // RS485 receive length
void app_RS485_test(void)
{
HAL_UARTEx_ReceiveToIdle_IT(&huart3, rx_buf, 32);
while (1)
{
if (rs_rx_flag)
{
debug_printf("RS485 RX Recv (%d bytes): %c %c %c", rs_rx_len, rx_buf[0], rx_buf[1], rx_buf[2]);
HAL_UART_Transmit(&huart3, rx_buf, rs_rx_len, 1000);
rs_rx_flag = 0;
}
}
}
void app_big_laser_test(void)
{
HAL_GPIO_WritePin(POWER_12V_EN_GPIO_Port, POWER_12V_EN_Pin, GPIO_PIN_SET);
HAL_TIM_PWM_Start(&htim10, TIM_CHANNEL_1);
while (1)
{
for (uint8_t pulse = 0; pulse < 100; pulse += 10)
{
__HAL_TIM_SetCompare(&htim10, TIM_CHANNEL_1, pulse);
HAL_Delay(10);
}
for (uint8_t pulse = 100; pulse > 0; pulse -= 10)
{
__HAL_TIM_SetCompare(&htim10, TIM_CHANNEL_1, pulse);
HAL_Delay(10);
}
}
}
void app_small_laser_test(void)
{
HAL_GPIO_WritePin(POWER_5V_EN_GPIO_Port, POWER_5V_EN_Pin, GPIO_PIN_SET);
HAL_TIM_PWM_Start(&htim10, TIM_CHANNEL_1);
while (1)
{
for (uint8_t pulse = 0; pulse < 100; pulse += 10)
{
__HAL_TIM_SetCompare(&htim10, TIM_CHANNEL_1, pulse);
HAL_Delay(10);
}
for (uint8_t pulse = 100; pulse > 0; pulse -= 10)
{
__HAL_TIM_SetCompare(&htim10, TIM_CHANNEL_1, pulse);
HAL_Delay(10);
}
}
}
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{
if (huart->Instance == USART3)
{
rs_rx_flag = 1;
rs_rx_len = Size;
HAL_UARTEx_ReceiveToIdle_IT(&huart3, rx_buf, 32);
}
}